public SecurityManagerProvider(String shiroConfig) { this.securityManager = null; IniSecurityManagerFactory factory = new IniSecurityManagerFactory("classpath:" + shiroConfig); // we will need to make sure that shiro uses a case sensitive permission resolver Ini.Section main = factory.getIni().addSection("main"); main.put("geodePermissionResolver", GeodePermissionResolver.class.getName()); if (!main.containsKey("iniRealm.permissionResolver")) { main.put("iniRealm.permissionResolver", "$geodePermissionResolver"); } shiroManager = factory.getInstance(); }
public static Collection<Realm> get(final ConfigSource configSource) { final SecurityConfig securityConfig = new ConfigurationObjectFactory(configSource).build(SecurityConfig.class); Collection<Realm> realms = null; try { final Factory<SecurityManager> factory = new IniSecurityManagerFactory(securityConfig.getShiroResourcePath()); // TODO Pierre hack - lame cast here, but we need to have Shiro go through its reflection magic // to parse the [main] section of the ini file. Without duplicating code, this seems to be possible only // by going through IniSecurityManagerFactory. final DefaultSecurityManager securityManager = (DefaultSecurityManager) factory.getInstance(); realms = securityManager.getRealms(); } catch (final ConfigurationException e) { log.warn("Unable to configure RBAC", e); } return realms != null ? realms : ImmutableSet.<Realm>of(new IniRealm(securityConfig.getShiroResourcePath())); // Mainly for testing }
Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); SecurityManager securityManager = factory.getInstance();
@BeforeClass public static void beforeClass() { //0. Build and set the SecurityManager used to build Subject instances used in your tests // This typically only needs to be done once per class if your shiro.ini doesn't change, // otherwise, you'll need to do this logic in each test that is different Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:test.shiro.ini"); setSecurityManager(factory.getInstance()); }
@Before public void setup() { ThreadContext.remove(); Ini config = new Ini(); config.setSectionProperty("main", "myRealm", "org.apache.shiro.realm.jdbc.JdbcRealm"); config.setSectionProperty("main", "myRealmCredentialsMatcher", "org.apache.shiro.authc.credential.Sha256CredentialsMatcher"); config.setSectionProperty("main", "myRealm.credentialsMatcher", "$myRealmCredentialsMatcher"); config.setSectionProperty("main", "securityManager.sessionManager.sessionValidationSchedulerEnabled", "false"); IniSecurityManagerFactory factory = new IniSecurityManagerFactory(config); securityManager = (DefaultSecurityManager) factory.createInstance(); SecurityUtils.setSecurityManager(securityManager); // Create a database and realm for the test createRealm(name.getMethodName()); }
protected void configureShiro() { final Ini config = new Ini(); config.addSection("users"); config.getSection("users").put("pierre", "password, creditor"); config.getSection("users").put("stephane", "password, refunder"); config.addSection("roles"); config.getSection("roles").put("creditor", Permission.INVOICE_CAN_CREDIT.toString() + "," + Permission.INVOICE_CAN_ITEM_ADJUST.toString()); config.getSection("roles").put("refunder", Permission.PAYMENT_CAN_REFUND.toString()); // Reset the security manager ThreadContext.unbindSecurityManager(); final Factory<SecurityManager> factory = new IniSecurityManagerFactory(config); final SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); } }
users.put("user2", "user2,role2"); users.put("user3", "user3,role3"); IniSecurityManagerFactory factory = new IniSecurityManagerFactory(ini); SecurityManager sm = factory.getInstance();
new IniSecurityManagerFactory("classpath:Shiro.ini");
new IniSecurityManagerFactory("classpath:/shiro.ini");
Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini");
@SuppressWarnings("unchecked") Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini");
Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini"); SecurityManager securityManager = (SecurityManager) factory.getInstance();
public ShiroSecurityPolicy(Ini ini) { this(); Factory<SecurityManager> factory = new IniSecurityManagerFactory(ini); securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); }
public ShiroSecurityPolicy(String iniResourcePath) { this(); Factory<SecurityManager> factory = new IniSecurityManagerFactory(iniResourcePath); securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); }
@PostConstruct public void postConstruct() throws ConfigurationException, IOException { URL iniURL = getShiroIniURL(); if (iniURL != null) { Ini ini = new Ini(); ini.load(iniURL.openStream()); IniSecurityManagerFactory factory = new IniSecurityManagerFactory(ini); manager = factory.getInstance(); } }
public static Collection<Realm> get(final ConfigSource configSource) { final SecurityConfig securityConfig = new ConfigurationObjectFactory(configSource).build(SecurityConfig.class); Collection<Realm> realms = null; try { final Factory<SecurityManager> factory = new IniSecurityManagerFactory(securityConfig.getShiroResourcePath()); // TODO Pierre hack - lame cast here, but we need to have Shiro go through its reflection magic // to parse the [main] section of the ini file. Without duplicating code, this seems to be possible only // by going through IniSecurityManagerFactory. final DefaultSecurityManager securityManager = (DefaultSecurityManager) factory.getInstance(); realms = securityManager.getRealms(); } catch (final ConfigurationException e) { log.warn("Unable to configure RBAC", e); } return realms != null ? realms : ImmutableSet.<Realm>of(new IniRealm(securityConfig.getShiroResourcePath())); // Mainly for testing }
public void documentationSupport_before() { // START SNIPPET: before IniSecurityManagerFactory factory = new IniSecurityManagerFactory( "classpath:standalone-shiro.ini" ); SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager( securityManager ); // END SNIPPET: before }
protected void configureShiro() { final Ini config = new Ini(); config.addSection("users"); config.getSection("users").put("pierre", "password, creditor"); config.getSection("users").put("stephane", "password, refunder"); config.addSection("roles"); config.getSection("roles").put("creditor", Permission.INVOICE_CAN_CREDIT.toString() + "," + Permission.INVOICE_CAN_ITEM_ADJUST.toString()); config.getSection("roles").put("refunder", Permission.PAYMENT_CAN_REFUND.toString()); // Reset the security manager ThreadContext.unbindSecurityManager(); final Factory<SecurityManager> factory = new IniSecurityManagerFactory(config); final SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); } }
protected void configureShiro() { final Ini config = new Ini(); config.addSection("users"); config.getSection("users").put("EntitlementUser", "password, entitlement"); config.addSection("roles"); config.getSection("roles").put("entitlement", Permission.ACCOUNT_CAN_CREATE.toString() + "," + Permission.ENTITLEMENT_CAN_CREATE.toString() + "," + Permission.ENTITLEMENT_CAN_CHANGE_PLAN.toString() + "," + Permission.ENTITLEMENT_CAN_PAUSE_RESUME.toString() + "," + Permission.ENTITLEMENT_CAN_TRANSFER.toString() + "," + Permission.ENTITLEMENT_CAN_CANCEL.toString()); // Reset the security manager ThreadContext.unbindSecurityManager(); final Factory<SecurityManager> factory = new IniSecurityManagerFactory(config); final SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); }
protected void configureShiro() { final Ini config = new Ini(); config.addSection("users"); config.getSection("users").put("pierre", "password, creditor"); config.getSection("users").put("stephane", "password, refunder"); config.addSection("roles"); config.getSection("roles").put("creditor", Permission.INVOICE_CAN_CREDIT.toString() + "," + Permission.INVOICE_CAN_ITEM_ADJUST.toString()); config.getSection("roles").put("refunder", Permission.PAYMENT_CAN_REFUND.toString()); // Reset the security manager ThreadContext.unbindSecurityManager(); final Factory<SecurityManager> factory = new IniSecurityManagerFactory(config); final SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); } }