在Shiro框架中,SecurityManager是安全管理组件,它是整个框架的核心。在使用Shiro框架时,我们需要将自定义的ShiroUserRealm实现类交给SecurityManager管理,以便在认证和授权时被调用。

具体来说,我们需要在Spring配置文件中定义一个SecurityManager的bean,并将ShiroUserRealm实现类作为参数传递给它。例如:

<bean id="securityManager" class="org.apache.shiro.mgt.DefaultSecurityManager">
    <property name="realm" ref="shiroUserRealm"/>
</bean>

<bean id="shiroUserRealm" class="com.example.ShiroUserRealm"/>

在上面的配置中,我们将DefaultSecurityManager作为SecurityManager的实现类,并将ShiroUserRealm实现类作为其realm属性的值,以便在认证和授权时被调用。

当我们在代码中使用Shiro框架进行认证和授权时,SecurityManager会自动调用ShiroUserRealm实现类中的方法进行处理。例如,当我们调用Subject.login()方法进行认证时,SecurityManager会自动调用ShiroUserRealm实现类中的doGetAuthenticationInfo()方法进行用户认证。同样地,当我们调用Subject.checkPermission()方法进行授权时,SecurityManager会自动调用ShiroUserRealm实现类中的doGetAuthorizationInfo()方法进行权限控制

Shiro框架中继承AuthorizingRealm的实现类ShiroUserRealm如何被Shiro框架的安全管理组件SecurityManager调用?Servicepublic class ShiroUserRealm extends AuthorizingRealm

原文地址: https://www.cveoy.top/t/topic/fSup 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录