Ⅰ shiro技术四大组件和运行原理是什么
subject:主体,可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证、授权。
securityManager:安全管理器,主体进行认证和授权都是通过securityManager进行。
authenticator:认证器,主体进行认证最终通过authenticator进行的。
authorizer:授权器,主体进行授权最终通过authorizer进行的。
认证执行流程
1、通过ini配置文件创建securityManager
2、调用subject.login方法主体提交认证,提交的token
3、securityManager进行认证,securityManager最终由MolarRealmAuthenticator进行认证。
4、MolarRealmAuthenticator调用IniRealm(给realm传入token) 去ini配置文件中查询用户信息
5、IniRealm根据输入的token(UsernamePasswordToken)从 shiro.ini查询用户信息,根据账号查询用户信息(账号和密码)
如果查询到用户信息,就给MolarRealmAuthenticator返回用户信息(账号和密码)
如果查询不到,就给MolarRealmAuthenticator返回null
6、MolarRealmAuthenticator接收IniRealm返回Authentication认证信息
如果返回的认证信息是null,MolarRealmAuthenticator抛出异常
Ⅱ zeppelin 0.10.0版本 配置登录用户
这个版本不需要修改zeppelin-site.xml文件
只需要mv shiro.ini.template shiro.ini这个文件
vi shiro.ini 把下面的注释取消
#admin = password1, admin
重新启动,完活
如果java 客户端连接,需要调用ZeppelinClient的login方法
Ⅲ shiro 为什么用ini作为配置文件
开发者是这么设计的,坦白说,确实不太方便,不过与框架整合时,基本上都不再创建ini配置文件,如与spring整合,直接放到spring中配置bean