Example usage for org.apache.shiro.realm SimpleAccountRealm addAccount

List of usage examples for org.apache.shiro.realm SimpleAccountRealm addAccount

Introduction

In this page you can find the example usage for org.apache.shiro.realm SimpleAccountRealm addAccount.

Prototype

public void addAccount(String username, String password, String... roles) 

Source Link

Usage

From source file:com.monkeyk.os.web.ShiroTest.java

License:Open Source License

@Test(enabled = false)
public void login() {
    String username = "abc";
    //init SecurityManager
    SimpleAccountRealm realm = new SimpleAccountRealm("simple-realm");
    realm.addAccount(username, "abc", "USER");

    SimpleAccountRealm realm2 = new SimpleAccountRealm("simple-realm2");
    realm2.addAccount(username, "abc", "USER", "ADMIN");

    List<Realm> realmList = new ArrayList<>();
    realmList.add(realm);//from  w w w  .  j a va 2s  .  c o m
    realmList.add(realm2);

    SecurityManager securityManager = new DefaultSecurityManager(realmList);
    SecurityUtils.setSecurityManager(securityManager);

    UsernamePasswordToken token = new UsernamePasswordToken(username, "abcdd");

    final Subject subject = SecurityUtils.getSubject();
    subject.login(token);

    final Subject subject1 = SecurityUtils.getSubject();
    assertTrue(subject1.isAuthenticated());

    assertFalse(subject1.isPermitted("OK"));
    assertTrue(subject1.hasRole("USER"));

    //        assertTrue(subject1.isPermitted("USER:c,u"));

}

From source file:lib.Global.java

License:Open Source License

private void setupLocalUser(ApiClient api, SimpleAccountRealm realm, Application app) {
    final Configuration config = app.configuration();
    final String username = config.getString("local-user.name", "localadmin");
    final String passwordHash = config.getString("local-user.password-sha2");
    if (passwordHash == null) {
        log.warn(//from w  w  w . j av  a  2 s. c o  m
                "No password hash for local user {} set. "
                        + "If you lose connection to the graylog2-server at {}, you will be unable to log in!",
                username, config.getString("graylog2-server"));
        return;
    }
    realm.addAccount(username, passwordHash, "local-admin");
    LocalAdminUser.createSharedInstance(api, username, passwordHash);
}