java security provide_Java SecurityManager類代碼示例

本文整理匯總了Java中org.apache.shiro.mgt.SecurityManager類的典型用法代碼示例。如果您正苦於以下問題:Java SecurityManager類的具體用法?Java SecurityManager怎麽用?Java SecurityManager使用的例子?那麽恭喜您, 這裏精選的類代碼示例或許可以為您提供幫助。

SecurityManager類屬於org.apache.shiro.mgt包,在下文中一共展示了SecurityManager類的38個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。

示例1: shiroFilter

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Bean(name="shiroFilter")

public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager")SecurityManager manager) {

ShiroFilterFactoryBean bean=new ShiroFilterFactoryBean();

bean.setSecurityManager(manager);

//配置登錄的url和登錄成功的url

bean.setLoginUrl("/login");

bean.setSuccessUrl("/home");

//配置訪問權限

LinkedHashMap filterChainDefinitionMap=new LinkedHashMap<>();

filterChainDefinitionMap.put("/login", "anon"); //表示可以匿名訪問

filterChainDefinitionMap.put("/common/**", "anon");

filterChainDefinitionMap.put("/js/**","anon");

filterChainDefinitionMap.put("/druid/**","anon");

filterChainDefinitionMap.put("/captcha","anon");

filterChainDefinitionMap.put("/**", "authc");//表示需要認證才可以訪問

bean.setFilterChainDefinitionMap(filterChainDefinitionMap);

return bean;

}

開發者ID:ranji1221,項目名稱:lemcloud,代碼行數:19,

示例2: provideSecurityManager

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Provides

@Singleton

SecurityManager provideSecurityManager(

SessionManager sessionManager,

RememberMeManager rememberMeManager,

Realms realms,

Set authListeners) {

DefaultSecurityManager manager = new DefaultSecurityManager(realms.getRealms());

((AbstractAuthenticator) manager.getAuthenticator()).setAuthenticationListeners(authListeners);

manager.setSessionManager(sessionManager);

manager.setRememberMeManager(rememberMeManager);

return manager;

}

開發者ID:bootique,項目名稱:bootique-shiro,代碼行數:17,

示例3: setShiroConfiguration

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* Sets shiro configuration to the path of the resource

* that points to the {@code shiro.ini} file.

*

* @param resource the resource

*/

@Autowired

public void setShiroConfiguration(@Value("${shiro.authn.config.file:classpath:shiro.ini}") final Resource resource) {

try {

if (resource.exists()) {

final String location = resource.getURI().toString();

logger.debug("Loading Shiro configuration from {}", location);

final Factory factory = new IniSecurityManagerFactory(location);

final SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

} else {

logger.debug("Shiro configuration is not defined");

}

} catch (final Exception e) {

throw new RuntimeException(e);

}

}

開發者ID:hsj-xiaokang,項目名稱:springboot-shiro-cas-mybatis,代碼行數:24,

示例4: createInstance

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Override

protected AbstractShiroFilter createInstance() throws Exception {

SecurityManager securityManager = getSecurityManager();

if (securityManager == null){

throw new BeanInitializationException("SecurityManager property must be set.");

}

if (!(securityManager instanceof WebSecurityManager)){

throw new BeanInitializationException("The security manager does not implement the WebSecurityManager interface.");

}

PathMatchingFilterChainResolver chainResolver = new PathMatchingFilterChainResolver();

FilterChainManager chainManager = createFilterChainManager();

chainResolver.setFilterChainManager(chainManager);

return new MySpringShiroFilter((WebSecurityManager)securityManager, chainResolver);

}

開發者ID:hsj-xiaokang,項目名稱:springboot-shiro-cas-mybatis,代碼行數:17,

示例5: loadShiroConfiguration

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* Sets shiro configuration to the path of the resource

* that points to the {@code shiro.ini} file.

*

* @param resource the resource

*/

public void loadShiroConfiguration(final Resource resource) {

try {

final Resource shiroResource = ResourceUtils.prepareClasspathResourceIfNeeded(resource);

if (shiroResource != null && shiroResource.exists()) {

final String location = shiroResource.getURI().toString();

LOGGER.debug("Loading Shiro configuration from [{}]", location);

final Factory factory = new IniSecurityManagerFactory(location);

final SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

} else {

LOGGER.debug("Shiro configuration is not defined");

}

} catch (final Exception e) {

throw Throwables.propagate(e);

}

}

開發者ID:mrluo735,項目名稱:cas-5.1.0,代碼行數:24,

示例6: CentralDogmaSecurityManager

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

public CentralDogmaSecurityManager(File dataDir, Ini securityConfig) {

try {

sessionDao = new FileBasedSessionDAO(new File(dataDir, "_sessions").toPath());

} catch (IOException e) {

throw new IOError(e);

}

sessionManager = new CentralDogmaSessionManager(sessionDao);

final Factory factory = new IniSecurityManagerFactory(securityConfig) {

@Override

protected SecurityManager createDefaultInstance() {

DefaultSecurityManager securityManager = new DefaultSecurityManager();

securityManager.setSessionManager(sessionManager);

securityManager.setCacheManager(new MemoryConstrainedCacheManager());

return securityManager;

}

};

delegate = factory.getInstance();

}

開發者ID:line,項目名稱:centraldogma,代碼行數:20,

示例7: testHelloWorld

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testHelloWorld() {

//1、獲取 SecurityManager 工廠,此處使用 Ini 配置文件初始化 SecurityManager

Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini");

//2、得到 SecurityManager 實例 並綁定給 SecurityUtils

SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

//3、得到 Subject 及創建用戶名/密碼身份驗證 Token(即用戶身份/憑證)

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("test", "234");

try {

//4、登錄,即身份驗證

subject.login(token);

} catch (AuthenticationException e) {

//5、身份驗證失敗

}

Assert.assertEquals(true, subject.isAuthenticated()); //斷言用戶已經登錄

//6、退出

subject.logout();

}

開發者ID:easymall,項目名稱:easymall,代碼行數:25,

示例8: testIniRealm

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* testIniRealm

* @Description: iniRealm的測試

* @return: void

* @Author: BeautifulSoup

* @Date: 2017年12月16日 上午11:41:43

*/

@Test

@Ignore

public void testIniRealm(){

Factory factory=new IniSecurityManagerFactory("classpath:inirealm-shiro.ini");

SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token=new UsernamePasswordToken("james_shu", "1997admin");

try{

subject.login(token);

}catch(AuthenticationException e){

e.printStackTrace();

}

System.out.println("用戶認證狀態:"+subject.isAuthenticated());

subject.logout();

System.out.println("用戶當前認證狀態:"+subject.isAuthenticated());

}

開發者ID:fuyunwang,項目名稱:ShiroDemo,代碼行數:25,

示例9: testCustomRealm

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* testCustomRealm

* @Description: CustomRealm的測試

* @return: void

* @Author: BeautifulSoup

* @Date: 2017年12月16日 上午11:41:53

*/

@Test

public void testCustomRealm(){

Factory factory=new IniSecurityManagerFactory("classpath:customrealm-shiro.ini");

SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token=new UsernamePasswordToken("BeautifulSoup", "1997admin");

try{

subject.login(token);

}catch(AuthenticationException e){

e.printStackTrace();

}

System.out.println("用戶認證狀態:"+subject.isAuthenticated());

subject.logout();

System.out.println("用戶當前認證狀態:"+subject.isAuthenticated());

}

開發者ID:fuyunwang,項目名稱:ShiroDemo,代碼行數:26,

示例10: testIniAuthorization

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* testIniAuthorization

* @Description: 使用inirealm完成授權

* @return: void

* @Author: BeautifulSoup

* @Date: 2017年12月16日 下午3:05:34

*/

@Test

@Ignore

public void testIniAuthorization(){

Factory factory=new IniSecurityManagerFactory("classpath:permission-shiro.ini");

SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

Subject subject = SecurityUtils.getSubject();

//首先認證,認證通過之後才能授權

UsernamePasswordToken token=new UsernamePasswordToken("beautifulsoup", "password");

try{

subject.login(token);

}catch(AuthenticationException e){

e.printStackTrace();

}

System.out.println("用戶的認證狀態:"+subject.isAuthenticated());

boolean isPermitted=subject.isPermittedAll("user:create:01","user:query");

subject.checkPermissions("user:create:01","user:query");

System.out.println(isPermitted);

}

開發者ID:fuyunwang,項目名稱:ShiroDemo,代碼行數:27,

示例11: testCustomRealmAuthorization

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* testCustomRealmAuthorization

* @Description: 使用自定義realm完成授權

* @return: void

* @Author: BeautifulSoup

* @Date: 2017年12月16日 下午3:05:46

*/

@Test

public void testCustomRealmAuthorization(){

Factory factory=new IniSecurityManagerFactory("classpath:customrealm-shiro.ini");

SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

Subject subject = SecurityUtils.getSubject();

//首先認證,認證通過之後才能授權

UsernamePasswordToken token=new UsernamePasswordToken("BeautifulSoup", "1997admin");

try{

subject.login(token);

}catch(AuthenticationException e){

e.printStackTrace();

}

System.out.println("用戶的認證狀態:"+subject.isAuthenticated());

boolean isPermitted=subject.isPermittedAll("item:query");

System.out.println(isPermitted);

}

開發者ID:fuyunwang,項目名稱:ShiroDemo,代碼行數:25,

示例12: shirFilter

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Bean("shiroFilter")

public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {

ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();

shiroFilter.setSecurityManager(securityManager);

shiroFilter.setLoginUrl("/login.html");

//shiroFilter.setSuccessUrl("/index.html");

shiroFilter.setUnauthorizedUrl("/");

Map filterMap = new LinkedHashMap<>();

filterMap.put("/public/**", "anon");

filterMap.put("/webjars/**", "anon");

filterMap.put("/api/**", "anon");

//swagger配置

filterMap.put("/swagger**", "anon");

filterMap.put("/v2/api-docs", "anon");

filterMap.put("/swagger-resources/configuration/ui", "anon");

filterMap.put("/login.html", "anon");

filterMap.put("/sys/login", "anon");

filterMap.put("/captcha.jpg", "anon");

filterMap.put("/**", "authc");

shiroFilter.setFilterChainDefinitionMap(filterMap);

return shiroFilter;

}

開發者ID:guolf,項目名稱:pds,代碼行數:27,

示例13: shiroFilter

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* shiroFilter

* @param manager

* @return

*/

@Bean(name="shiroFilter")

public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") SecurityManager manager) {

ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();

bean.setSecurityManager(manager);

// 配置登錄的url

bean.setLoginUrl("/login");

//bean.setSuccessUrl("/admin/main");

// 過濾鏈

LinkedHashMap filterChainDefinitionMap = new LinkedHashMap<>();

filterChainDefinitionMap.put("/login", "anon"); // 表示可以匿名訪問

filterChainDefinitionMap.put("/admin/**", "authc");// 管理員權限需要驗證過濾

bean.setFilterChainDefinitionMap(filterChainDefinitionMap);

return bean;

}

開發者ID:shinyjunjun,項目名稱:myblog,代碼行數:21,

示例14: shiroFilter

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Bean(name="shiroFilter")

public ShiroFilterFactoryBean shiroFilter(@Qualifier("securityManager") SecurityManager manager) {

ShiroFilterFactoryBean bean=new ShiroFilterFactoryBean();

bean.setSecurityManager(manager);

//配置登錄的url和登錄成功的url

bean.setLoginUrl("/login");

//配置訪問權限

LinkedHashMap filterChainDefinitionMap=new LinkedHashMap<>();

filterChainDefinitionMap.put("/login", "anon"); //表示可以匿名訪問

filterChainDefinitionMap.put("/captcha","anon");

filterChainDefinitionMap.put("/common/**", "anon");

filterChainDefinitionMap.put("/default/**","anon");

filterChainDefinitionMap.put("/druid/**", "anon");

filterChainDefinitionMap.put("/**", "authc");//表示需要認證才可以訪問

//filterChainDefinitionMap.put("/**", "anon");

bean.setFilterChainDefinitionMap(filterChainDefinitionMap);

return bean;

}

開發者ID:ranji1221,項目名稱:lemcloud,代碼行數:19,

示例15: main

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

public static void main(String[] args) {

//此處從ini文件來實現用用戶角色權限配置,實際多從數據庫表來實現

Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini.bak");

//SercurityManager 對象

SecurityManager instance = factory.getInstance();

SecurityUtils.setSecurityManager(instance);

//測試用戶

Subject currentUser = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("admin", "admin");

boolean result = false;

try {

currentUser.login(token);

result = true;

LOG.debug("認證成功");

} catch (Exception e) {

result = false;

LOG.debug("認證失敗");

}

}

開發者ID:MiniPa,項目名稱:cjs_ssms,代碼行數:24,

示例16: testHelloworld

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testHelloworld(){

//1.獲取SecurityManagerFactory,此處用shiro.ini來初始化

Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini");

//2.得到securityManager實例

SecurityManager securityManager = factory.getInstance();

//3.綁定給securityManager

SecurityUtils.setSecurityManager(securityManager);

//4.獲取subject

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123");

try {

//5.登錄

subject.login(token);

} catch (Exception e) {

//6.身份驗證失敗

}

Assert.assertEquals(true, subject.isAuthenticated());

//7.登出

subject.logout();

}

開發者ID:l81893521,項目名稱:shiro-demo,代碼行數:26,

示例17: testCustomRealm

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testCustomRealm(){

//1.獲取SecurityManagerFactory,此處用shiro-realm.ini來初始化(使用自定義realm)

Factory factory = new IniSecurityManagerFactory("classpath:shiro-realm.ini");

//2.得到securityManager實例

SecurityManager securityManager = factory.getInstance();

//3.綁定給securityManager

SecurityUtils.setSecurityManager(securityManager);

//4.獲取subject

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123");

try {

//5.登錄

subject.login(token);

} catch (Exception e) {

//6.身份驗證失敗

}

Assert.assertEquals(true, subject.isAuthenticated());

//7.登出

subject.logout();

}

開發者ID:l81893521,項目名稱:shiro-demo,代碼行數:26,

示例18: testCustomMultiRealm

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testCustomMultiRealm(){

//1.獲取SecurityManagerFactory,此處用shiro.ini來初始化(使用自定義realm)

Factory factory = new IniSecurityManagerFactory("classpath:shiro-multi-realm.ini");

//2.得到securityManager實例

SecurityManager securityManager = factory.getInstance();

//3.綁定給securityManager

SecurityUtils.setSecurityManager(securityManager);

//4.獲取subject

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("wang", "123");

try {

//5.登錄

subject.login(token);

} catch (Exception e) {

//6.身份驗證失敗

}

Assert.assertEquals(true, subject.isAuthenticated());

//7.登出

subject.logout();

}

開發者ID:l81893521,項目名稱:shiro-demo,代碼行數:26,

示例19: testJDBCRealm

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testJDBCRealm(){

//1.獲取SecurityManagerFactory,此處用shiro-jdbc-realm.ini來初始化(使用自定義realm)

Factory factory = new IniSecurityManagerFactory("classpath:shiro-jdbc-realm.ini");

//2.得到securityManager實例

SecurityManager securityManager = factory.getInstance();

//3.綁定給securityManager

SecurityUtils.setSecurityManager(securityManager);

//4.獲取subject

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123");

try {

//5.登錄

subject.login(token);

} catch (Exception e) {

//6.身份驗證失敗

}

Assert.assertEquals(true, subject.isAuthenticated());

//7.登出

subject.logout();

}

開發者ID:l81893521,項目名稱:shiro-demo,代碼行數:25,

示例20: testSubject

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testSubject() {

BQRuntime bqRuntime = testFactory

.app("-c", "classpath:io/bootique/shiro/realm/IniRealmIT.yml")

.autoLoadModules()

.createRuntime();

Subject subject = new Subject.Builder(bqRuntime.getInstance(SecurityManager.class)).buildSubject();

subject.login(new UsernamePasswordToken("u11", "u11p"));

Assert.assertTrue(subject.hasRole("admin"));

assertArrayEquals(new boolean[]{true, true, true}, subject.isPermitted("do1", "do2", "do3"));

subject.logout();

subject.login(new UsernamePasswordToken("u12", "u12p"));

Assert.assertTrue(subject.hasRole("user"));

assertArrayEquals(new boolean[]{false, false, true}, subject.isPermitted("do1", "do2", "do3"));

subject.logout();

subject.login(new UsernamePasswordToken("u21", "u21p"));

Assert.assertFalse(subject.hasRole("user"));

assertArrayEquals(new boolean[]{false, false, false}, subject.isPermitted("do1", "do2", "do3"));

subject.logout();

}

開發者ID:bootique,項目名稱:bootique-shiro,代碼行數:26,

示例21: testFullStack

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testFullStack() {

Realm mockRealm = mockRealm();

BQRuntime runtime = testFactory.app()

.module(b -> ShiroModule.extend(b).addRealm(mockRealm))

.autoLoadModules()

.createRuntime();

Subject subject = new Subject.Builder(runtime.getInstance(SecurityManager.class)).buildSubject();

assertFalse(subject.isAuthenticated());

// try bad login

try {

subject.login(new UsernamePasswordToken("uname", "badpassword"));

Assert.fail("Should have thrown on bad auth");

} catch (AuthenticationException authEx) {

assertFalse(subject.isAuthenticated());

}

// try good login

subject.login(new UsernamePasswordToken("uname", "password"));

assertTrue(subject.isAuthenticated());

}

開發者ID:bootique,項目名稱:bootique-shiro,代碼行數:27,

示例22: testFullStack_SecurityUtils

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Test

public void testFullStack_SecurityUtils() {

Realm mockRealm = mockRealm();

BQRuntime runtime = testFactory.app()

.module(b -> ShiroModule.extend(b).addRealm(mockRealm))

.autoLoadModules()

.createRuntime();

Subject subject = new Subject.Builder(runtime.getInstance(SecurityManager.class)).buildSubject();

assertNull(ThreadContext.getSubject());

// testing Shiro idiom of wrapping lambda in a subject...

subject.execute(() -> {

assertSame("Unexpected subject, thread state is disturbed", subject, SecurityUtils.getSubject());

});

}

開發者ID:bootique,項目名稱:bootique-shiro,代碼行數:19,

示例23: main

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

public static void main(String args[]){

//讀取配置文件,初始化工廠

Factory factory = new IniSecurityManagerFactory("classpath:shiro.ini") ;

//獲取SecurityManager的實例對象

SecurityManager instance = factory.getInstance();

SecurityUtils.setSecurityManager(instance);

//得到當前的用戶

Subject curentUser = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("crossoverjie","12341") ;

try {

curentUser.login(token);

System.out.println("認證成功");

}catch (Exception e){

e.printStackTrace();

System.out.println("認證失敗");

}

curentUser.logout();

}

開發者ID:crossoverJie,項目名稱:SSM,代碼行數:19,

示例24: resolveSecurityManager

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

public SecurityManager resolveSecurityManager() {

SecurityManager securityManager = getSecurityManager();

if (securityManager == null) {

if (log.isDebugEnabled()) {

log.debug("No SecurityManager available in subject context map. " +

"Falling back to SecurityUtils.getSecurityManager() lookup.");

}

try {

securityManager = SecurityUtils.getSecurityManager();

} catch (UnavailableSecurityManagerException e) {

if (log.isDebugEnabled()) {

log.debug("No SecurityManager available via SecurityUtils. Heuristics exhausted.", e);

}

}

}

return securityManager;

}

開發者ID:xuegongzi,項目名稱:rabbitframework,代碼行數:18,

示例25: SubjectThreadState

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* Creates a new {@code SubjectThreadState} that will bind and unbind the specified {@code Subject} to the

* thread

*

* @param subject the {@code Subject} instance to bind and unbind from the {@link ThreadContext}.

*/

public SubjectThreadState(Subject subject) {

if (subject == null) {

throw new IllegalArgumentException("Subject argument cannot be null.");

}

this.subject = subject;

SecurityManager securityManager = null;

if ( subject instanceof DelegatingSubject) {

securityManager = ((DelegatingSubject)subject).getSecurityManager();

}

if ( securityManager == null) {

securityManager = ThreadContext.getSecurityManager();

}

this.securityManager = securityManager;

}

開發者ID:xuegongzi,項目名稱:rabbitframework,代碼行數:22,

示例26: createSubject

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

public Subject createSubject(SubjectContext context) {

if (!(context instanceof WebSubjectContext)) {

return super.createSubject(context);

}

WebSubjectContext wsc = (WebSubjectContext) context;

SecurityManager securityManager = wsc.resolveSecurityManager();

Session session = wsc.resolveSession();

boolean sessionEnabled = wsc.isSessionCreationEnabled();

PrincipalCollection principals = wsc.resolvePrincipals();

boolean authenticated = wsc.resolveAuthenticated();

String host = wsc.resolveHost();

ServletRequest request = wsc.resolveServletRequest();

ServletResponse response = wsc.resolveServletResponse();

return new WebDelegatingSubject(principals, authenticated, host, session, sessionEnabled,

request, response, securityManager);

}

開發者ID:xuegongzi,項目名稱:rabbitframework,代碼行數:18,

示例27: createSecurityManager

​點讚 3

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@SuppressWarnings({"unchecked"})

private SecurityManager createSecurityManager(Ini ini, Ini.Section mainSection) {

Map defaults = createDefaults(ini, mainSection);

Map objects = buildInstances(mainSection, defaults);

SecurityManager securityManager = getSecurityManagerBean();

boolean autoApplyRealms = isAutoApplyRealms(securityManager);

if (autoApplyRealms) {

//realms and realm factory might have been created - pull them out first so we can

//initialize the securityManager:

Collection realms = getRealms(objects);

//set them on the SecurityManager

if (!CollectionUtils.isEmpty(realms)) {

applyRealmsToSecurityManager(realms, securityManager);

}

}

return securityManager;

}

開發者ID:xuegongzi,項目名稱:rabbitframework,代碼行數:23,

示例28: shirFilter

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* 處理攔截資源文件問題。

*

* @param securityManager

* @return

*/

@Bean

public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {

ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();

// 設置 SecurityManager

shiroFilterFactoryBean.setSecurityManager(securityManager);

// 如果不設置默認會自動尋找Web工程根目錄下的"/login.html"頁麵

shiroFilterFactoryBean.setLoginUrl("/login");

// 登錄成功後要跳轉的鏈接

shiroFilterFactoryBean.setSuccessUrl("/initPage");

//未授權界麵

shiroFilterFactoryBean.setUnauthorizedUrl("/403");

//攔截器.

Map filterChainDefinitionMap = new LinkedHashMap<>();

filterChainDefinitionMap.put("/favicon.png","anon");//解決彈出favicon.ico下載

filterChainDefinitionMap.put("/logout", "logout");

filterChainDefinitionMap.put("/css/**", "anon");

filterChainDefinitionMap.put("/js/**", "anon");

filterChainDefinitionMap.put("/img/**", "anon");

filterChainDefinitionMap.put("/font-awesome/**", "anon");

//自定義加載權限資源關係

List list = permissionService.findAll();

for (Permission p : list) {

if (!p.getPerurl().isEmpty()) {

String permission = "perms[" + p.getPerurl() + "]";

filterChainDefinitionMap.put(p.getPerurl(), permission);

}

}

//過濾鏈定義,從上向下順序執行,一般將 /**放在最為下邊

filterChainDefinitionMap.put("/**", "authc");

shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);

return shiroFilterFactoryBean;

}

開發者ID:ChinaLHR,項目名稱:JavaQuarkBBS,代碼行數:44,

示例29: shirFilter

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Bean("shiroFilter")

public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {

ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();

shiroFilter.setSecurityManager(securityManager);

//oauth過濾

Map filters = new HashMap<>();

filters.put("oauth2", new OAuth2Filter());

shiroFilter.setFilters(filters);

Map filterMap = new LinkedHashMap<>();

filterMap.put("/webjars/**", "anon");

filterMap.put("/druid/**", "anon");

filterMap.put("/api/**", "anon");

//swagger配置

filterMap.put("/swagger**", "anon");

filterMap.put("/v2/api-docs", "anon");

filterMap.put("/swagger-resources/configuration/ui", "anon");

filterMap.put("/sys/login", "anon");

filterMap.put("/**/*.css", "anon");

filterMap.put("/**/*.js", "anon");

filterMap.put("/**/*.html", "anon");

filterMap.put("/fonts/**", "anon");

filterMap.put("/plugins/**", "anon");

filterMap.put("/favicon.ico", "anon");

filterMap.put("/captcha.jpg", "anon");

filterMap.put("/", "anon");

filterMap.put("/**", "oauth2");

shiroFilter.setFilterChainDefinitionMap(filterMap);

return shiroFilter;

}

開發者ID:zhaoqicheng,項目名稱:renren-fast,代碼行數:35,

示例30: shirFilter

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* 配置shiro框架過濾器工廠

* 設置一些過濾器

*/

@Bean

public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager){

System.out.println("ShiroConfiguration.shirFilter()");

ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();

// 必須設置 SecurityManager

shiroFilterFactoryBean.setSecurityManager(securityManager);

//攔截器.

Map filterChainDefinitionMap = new LinkedHashMap();

//配置退出過濾器,其中的具體的退出代碼Shiro已經替我們實現了

//filterChainDefinitionMap.put(LOGOUT_URL, "logout");

//:這是一個坑呢,一不小心代碼就不好使了;

//

//靜態資源

filterChainDefinitionMap.put("/css/**","anon");

filterChainDefinitionMap.put("/js/**","anon");

filterChainDefinitionMap.put("/images/**","anon");

filterChainDefinitionMap.put("/lib/**","anon");

filterChainDefinitionMap.put("/login","anon");

filterChainDefinitionMap.put("/","anon");

// 如果不設置默認會自動尋找Web工程根目錄下的"/login.jsp"頁麵

shiroFilterFactoryBean.setLoginUrl(LOGIN_URL);

// 登錄成功後要跳轉的鏈接

shiroFilterFactoryBean.setSuccessUrl(LOGIN_SUCCESS_URL);

//未授權界麵;

shiroFilterFactoryBean.setUnauthorizedUrl("/403");

//

filterChainDefinitionMap.put("/**", "authc");

shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);

return shiroFilterFactoryBean;

}

開發者ID:mmdsyl,項目名稱:BLOG-Microservice,代碼行數:43,

示例31: shirFilter

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* ShiroFilterFactoryBean 處理攔截資源文件問題。

* 注意:單獨一個ShiroFilterFactoryBean配置是或報錯的,以為在

* 初始化ShiroFilterFactoryBean的時候需要注入:SecurityManager

* Filter Chain定義說明

* 1、一個URL可以配置多個Filter,使用逗號分隔

* 2、當設置多個過濾器時,全部驗證通過,才視為通過

* 3、部分過濾器可指定參數,如perms,roles

*

* anon(匿名) org.apache.shiro.web.filter.authc.AnonymousFilter

* authc(身份驗證) org.apache.shiro.web.filter.authc.FormAuthenticationFilter

* authcBasic(http基本驗證) org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter

* logout(退出) org.apache.shiro.web.filter.authc.LogoutFilter

* noSessionCreation(不創建session) org.apache.shiro.web.filter.session.NoSessionCreationFilter

* perms(許可驗證) org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter

* port(端口驗證) org.apache.shiro.web.filter.authz.PortFilter

* rest (rest方麵) org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter

* roles(權限驗證) org.apache.shiro.web.filter.authz.RolesAuthorizationFilter

* ssl (ssl方麵) org.apache.shiro.web.filter.authz.SslFilter

* member (用戶方麵) org.apache.shiro.web.filter.authc.UserFilter

* user 表示用戶不一定已通過認證,隻要曾被Shiro記住過登錄狀態的用戶就可以正常發起請求,比如rememberMe

*/

@Bean(name = "shirFilter")

public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {

ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();

// 必須設置 SecurityManager

shiroFilterFactoryBean.setSecurityManager(securityManager);

//攔截器.

Map filterChainDefinitionMap = new LinkedHashMap();

//配置退出過濾器,其中的具體的退出代碼Shiro已經替我們實現了

// 配置不會被攔截的鏈接 順序判斷

filterChainDefinitionMap.put("/css/**", "anon");

filterChainDefinitionMap.put("/fonts/**", "anon");

filterChainDefinitionMap.put("/img/**", "anon");

filterChainDefinitionMap.put("/js/**", "anon");

filterChainDefinitionMap.put("/ajax/**", "anon");

//

filterChainDefinitionMap.put("/toLogin", "anon");

filterChainDefinitionMap.put("/login", "anon");

filterChainDefinitionMap.put("/logout", "logout");

//anthc:authc filter 監聽,不登陸不能訪問

filterChainDefinitionMap.put("/**", "authc");

// 如果不設置默認會自動尋找Web工程根目錄下的"/login.jsp"頁麵

shiroFilterFactoryBean.setLoginUrl("/toLogin");

// 登錄成功後要跳轉的鏈接

shiroFilterFactoryBean.setSuccessUrl("/index");

//未授權界麵;

shiroFilterFactoryBean.setUnauthorizedUrl("/403");

shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);

return shiroFilterFactoryBean;

}

開發者ID:wu05281,項目名稱:admin-shiro,代碼行數:57,

示例32: setUp

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@BeforeEach

void setUp() {

IniSecurityManagerFactory factory = new IniSecurityManagerFactory("./src/test/resources/shiro-test.ini");

SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

subject = SecurityUtils.getSubject();

}

開發者ID:Java-Publications,項目名稱:vaadin-016-helloworld-14,代碼行數:9,

示例33: shiroFilterFactoryBean

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* 對過濾器進行調整

*

* @param securityManager

* @return

*/

@Bean

protected ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager, SubjectFactory subjectFactory,@Qualifier("filters") Map filters) {

//把subject對象設為subjectFactory

((DefaultSecurityManager) securityManager).setSubjectFactory(subjectFactory);

ShiroFilterFactoryBean filterFactoryBean = super.shiroFilterFactoryBean();

filterFactoryBean.setSecurityManager(securityManager);

filterFactoryBean.setFilters(filters);

return filterFactoryBean;

}

開發者ID:kawhii,項目名稱:wolf,代碼行數:17,

示例34: shirFilter

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* ShiroFiterFactoryBean處理攔截資源文件問題。

* 注意:單獨一個ShiroFilerFactoryBean配置是或報錯的,因為在

* 初始化ShiroFilterFactoryBean的時候需要注入:SecurityManager

*

* Filter Chain定義說明

* 1.一個url可以配置多個Filer,使用逗號分隔

* 2.當設置多個過濾器時,全部驗證通過,才視為通過

* 3.部分過濾器可製定參數,如perms,roles

*

*/

@Bean

public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager){

System.out.println("ShiroConfiguration.shirFilter()");

ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();

//必須設置SecurityManager

shiroFilterFactoryBean.setSecurityManager(securityManager);

//如果不設置默認會自動尋找web工程根目錄下的"/login.jsp"頁麵

shiroFilterFactoryBean.setLoginUrl("/login");

//登錄成功後要跳轉的鏈接

shiroFilterFactoryBean.setSuccessUrl("/manage");

//未授權界麵

shiroFilterFactoryBean.setUnauthorizedUrl("/403");

//攔截器

Map filterChainDefinitionMap = new LinkedHashMap();

//配置退出過濾器,其中的具體的退出代碼Shiro已經替我們實現了

filterChainDefinitionMap.put("/logout","logout");

filterChainDefinitionMap.put("/css/**","anon");

filterChainDefinitionMap.put("/js/**","anon");

filterChainDefinitionMap.put("/img/**","anon");

filterChainDefinitionMap.put("/bootstrap/**","anon");

filterChainDefinitionMap.put("/font-awesome","anon");

//過濾鏈定義,從上向下順序執行

//authc:所有url都必須認證通過才可以訪問,anon:所有的url都可以匿名訪問

//自定義加載權限資源關係

List permissionList = permissionService.findConditions(null);

for (Permission permission: permissionList) {

if(StringUtil.isNotEmpty(permission.getUrl())){

String permi = "perms[" + permission.getUrl() + "]";

filterChainDefinitionMap.put(permission.getUrl(),permi);

}

}

filterChainDefinitionMap.put("/**","authc");

shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);

return shiroFilterFactoryBean;

}

開發者ID:ju5t1nhhh,項目名稱:CMSdemo,代碼行數:51,

示例35: main

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

public static void main(String[] args) {

Factory factory = new IniSecurityManagerFactory("classpath:shiro-first.ini");

SecurityManager securityManager = factory.getInstance();

SecurityUtils.setSecurityManager(securityManager);

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken("zhangsan","111111");

try {

subject.login(token);

}catch (AuthenticationException e){

e.printStackTrace();

}

// 是否認證通過

boolean isAuthenticated = subject.isAuthenticated();

System.out.println("是否認證通過:" + isAuthenticated);

// 退出操作

subject.logout();

// 是否認證通過

isAuthenticated = subject.isAuthenticated();

System.out.println("是否認證通過:" + isAuthenticated);

}

開發者ID:lgpzjp,項目名稱:rure,代碼行數:28,

示例36: shirFilter

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

@Bean("shiroFilter")

public ShiroFilterFactoryBean shirFilter(SecurityManager securityManager) {

ShiroFilterFactoryBean shiroFilter = new ShiroFilterFactoryBean();

shiroFilter.setSecurityManager(securityManager);

//oauth過濾

Map filters = new HashMap<>(16);

filters.put("oauth2", new OAuth2Filter());

shiroFilter.setFilters(filters);

Map filterMap = new LinkedHashMap<>();

filterMap.put("/webjars/**", "anon");

filterMap.put("/druid/**", "anon");

filterMap.put("/api/**", "anon");

//swagger配置

filterMap.put("/swagger**", "anon");

filterMap.put("/v2/api-docs", "anon");

filterMap.put("/swagger-resources/configuration/ui", "anon");

filterMap.put("/sys/login", "anon");

filterMap.put("/**/*.css", "anon");

filterMap.put("/**/*.js", "anon");

filterMap.put("/**/*.html", "anon");

filterMap.put("/fonts/**", "anon");

filterMap.put("/plugins/**", "anon");

filterMap.put("/favicon.ico", "anon");

filterMap.put("/captcha.jpg", "anon");

filterMap.put("/", "anon");

filterMap.put("/**", "oauth2");

shiroFilter.setFilterChainDefinitionMap(filterMap);

return shiroFilter;

}

開發者ID:davichi11,項目名稱:my-spring-boot-project,代碼行數:35,

示例37: securityManager

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* 聲明SecurityManager

* @param myRealm

* @return

*/

@Bean(name="securityManager")

public SecurityManager securityManager(@Qualifier("myRealm") MyRealm myRealm) {

System.out.println("加載shiro");

DefaultWebSecurityManager manager=new DefaultWebSecurityManager();

manager.setRealm(myRealm);

return manager;

}

開發者ID:shinyjunjun,項目名稱:myblog,代碼行數:13,

示例38: authorizationAttributeSourceAdvisor

​點讚 2

import org.apache.shiro.mgt.SecurityManager; //導入依賴的package包/類

/**

* 再加載securityManager

* @param manager

* @return

*/

@Bean

public AuthorizationAttributeSourceAdvisor authorizationAttributeSourceAdvisor(@Qualifier("securityManager") SecurityManager manager) {

AuthorizationAttributeSourceAdvisor advisor=new AuthorizationAttributeSourceAdvisor();

advisor.setSecurityManager(manager);

return advisor;

}

開發者ID:shinyjunjun,項目名稱:myblog,代碼行數:12,

注:本文中的org.apache.shiro.mgt.SecurityManager類示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值