Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The scope of your question is probably too large to be successfully answered here as you are asking about a fairly sizeable and potentially complex portion of the architecture of your final system. User access systems are generally quite complex especially if they are highly configurable e.g. you can grant users privileges outside their basic group privileges etc. </p> <p>Before starting to write any code have a think about what you want to achieve. You've already come up with the idea of using user groups which I think is very sensible but there are some questions you need to ask. Can users belong to multiple groups? Can permissions be assigned to users or can they only be assigned to groups? Is the administrator a special case or can it be handled as just another group? </p> <p>Have a look at the way Linux handles users and groups to assign permissions. It's a very well thought out system should offer some inspiration. Additionally the JavaEE 6 documentation orangegoat linked to provides a good overview of security in Java EE (but be warned it's fairly complex).</p> <p>Having said that I feel I must encourage you to consider making this a web based application rather than using JavaFX. It doesn't sound like you have any particularly complex graphical requirements and it also sounds like you want multiple concurrent access to the system / database (e.g. more than one teacher can be checking their assignments at a time). </p> <p>Perhaps I'm a little biased but I think a JavaEE based web application is a better match for these requirements. The business logic and most of the complexity of the multi-user side of things would be handled well by a bunch of <a href="http://docs.oracle.com/javaee/6/tutorial/doc/bnblr.html" rel="nofollow">EJB</a>'s with all the persistence handled by <a href="http://docs.oracle.com/javaee/6/tutorial/doc/bnbpy.html" rel="nofollow">JPA</a>. The GUI would be written in <a href="http://docs.oracle.com/javaee/6/tutorial/doc/bnadp.html" rel="nofollow">JSF</a> and <a href="http://primefaces.org/" rel="nofollow">PrimeFaces</a> and the whole lot hosted on <a href="https://glassfish.java.net/" rel="nofollow">GlassFish</a>. The real benefit of this set up is that you have a zero installation footprint which will save you a ton of time when rolling out new versions. Going the JavaEE route will probably make it more difficult for you but I feel it's the correct solution given the requirements.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload