Rumah  >  Soal Jawab  >  teks badan

Adakah mungkin untuk melaksanakan MongoDB sebagai alam Shiro?

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:

  1. Melaksanakan MongoDB sebagai alam Shiro?

  2. Jika boleh, bagaimana untuk menulis konfigurasi khusus? (Google menemui kod pelaksanaan tertentu, tetapi fail konfigurasi yang berkaitan tiada)

大家讲道理大家讲道理2736 hari yang lalu562

membalas semua(1)saya akan balas

  • 怪我咯

    怪我咯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

    balas
    0
  • Batalbalas