Interface SecurityManager

All Known Implementing Classes:
SecurityManagerImpl

public interface SecurityManager
Factory for SecurityContexts. The most important task of this interace is creating SecurityContexts after the user logged in (using the login(Principal) method). Other functions provided by this class are reading permission expressions as used in ACL files, and entering/exiting privileged mode.

Privileged mode is important to temporarily disable the security system, which is often needed for certain internal operations. A good example for such an internal operation is checking permissions in entities based on entity values. If security checks weren't disabled during condition checks, the condition check itself would cause the security system to check, whether the current user has access to that field, ultimately resulting in a recursive permission check until a StackOverflowError is thrown. Temporarily disabling security during condition check by entering privileged mode prevents this.