Rumah > Soal Jawab > teks badan
Keperluan saya ialah membaca maklumat pengguna dan kebenaran daripada pangkalan data untuk melengkapkan pengesahan dan kebenaran. Shiro menyediakan pelaksanaan JdbcRealm, tetapi tiada pelaksanaan alam MongoDB.
Boleh saya tolong:
Melaksanakan MongoDB sebagai alam Shiro?
Jika boleh, bagaimana untuk menulis konfigurasi khusus? (Google menemui kod pelaksanaan tertentu, tetapi fail konfigurasi yang berkaitan tiada)
怪我咯2017-05-17 10:00:54
Terima kasih atas jemputan, anda hanya perlu melaksanakan Alam anda sendiri, contohnya:
public class MyRealm extends AuthorizingRealm {
// 认证
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
// TODO 从数据库中获取用户信息, 从Mongo中查出来的
return null;
}
// 授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
// TODO 从数据库中获取授权信息, 从Mongo中查出来的
return null;
}
}
Kemudian tetapkan Realm
anda sendiri kepada RealmSecurityManager
, sebagai contoh: Realm
设置到RealmSecurityManager
中, 比如:
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(new MyRealm());
然后把这个SecurityManager
设置到ShiroFilter
ShiroFilterFactoryBean shiroFilterFactory = new ShiroFilterFactoryBean();
shiroFilterFactory.setSecurityManager(securityManager);
Kemudian hanya tetapkan SecurityManager
ini kepada ShiroFilter
, sebagai contoh: 🎜
rrreee