public static SecurityManager getSecurityManager() {
        return (SecurityManager) get(SECURITY_MANAGER_KEY);
    }
Convenience method that simplifies retrieval of the application's SecurityManager instance from the current
thread. If there is no SecurityManager bound to the thread (probably because framework code did not bind it
to the thread), this method returns <tt>null</tt>.
<p/>
It is merely a convenient wrapper for the following:
<p/>
<code>return (SecurityManager)get( SECURITY_MANAGER_KEY );</code>
<p/>
This method only returns the bound value if it exists - it does not remove it
from the thread.  To remove it, one must call {@link #unbindSecurityManager() unbindSecurityManager()} instead.

@return the Subject object bound to the thread, or <tt>null</tt> if there isn't one bound.
@since 0.9
core/src/main/java/org/apache/shiro/util/ThreadContext.java