Creates a new {@code Session Session} instance based on the specified (possibly {@code null})
initialization data. Implementing classes must manage the persistent state of the returned session such that it
could later be acquired via the {@link #getSession(SessionKey)} method.
@param context the initialization data that can be used by the implementation or underlying
{@link SessionFactory} when instantiating the internal {@code Session} instance.
@return the new {@code Session} instance.
@throws hunt.shiro.authz.HostUnauthorizedException
if the system access control policy restricts access based
on client location/IP and the specified hostAddress hasn't been enabled.
@throws AuthorizationException if the system access control policy does not allow the currently executing
caller to start sessions.
Creates a new {@code Session Session} instance based on the specified (possibly {@code null}) initialization data. Implementing classes must manage the persistent state of the returned session such that it could later be acquired via the {@link #getSession(SessionKey)} method.
@param context the initialization data that can be used by the implementation or underlying {@link SessionFactory} when instantiating the internal {@code Session} instance. @return the new {@code Session} instance. @throws hunt.shiro.authz.HostUnauthorizedException if the system access control policy restricts access based on client location/IP and the specified hostAddress hasn't been enabled. @throws AuthorizationException if the system access control policy does not allow the currently executing caller to start sessions.