@Configuration
public class ShiroConfig {
@Bean
public Realm realm() {
return new UserRealm();
}
@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher() {
HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher();
hashedCredentialsMatcher.setHashAlgorithmName(PasswordEncoder.getALGORITHM());
hashedCredentialsMatcher.setHashIterations(PasswordEncoder.getITERATION());
return hashedCredentialsMatcher;
}
@Bean
public UserRealm shiroRealm() {
UserRealm userRealm = new UserRealm();
userRealm.setCredentialsMatcher(hashedCredentialsMatcher());
return userRealm;
}
@Bean
public SessionsSecurityManager securityManager() {
DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
securityManager.setRealm(shiroRealm());
return securityManager;
}
@Bean
public DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator() {
DefaultAdvisorAutoProxyCreator defaultAdvisorAutoProxyCreator = new DefaultAdvisorAutoProxyCreator();
defaultAdvisorAutoProxyCreator.setUsePrefix(true);
return defaultAdvisorAutoProxyCreator;
}
@Bean
public ShiroFilterChainDefinition shiroFilterChainDefinition() {
DefaultShiroFilterChainDefinition definition = new DefaultShiroFilterChainDefinition();
definition.addPathDefinition("/login", "anon");
definition.addPathDefinition("/register", "anon");
definition.addPathDefinition("/api/**", "user");
return definition;
}
}
@PostMapping("/login")
@ResponseBody
public Object login(@RequestParam("username") String username,
@RequestParam("password") String password) {
if (username.equals("") || password.equals("")) {
return "please provide complete information";
}
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
Subject subject = SecurityUtils.getSubject(); // this line caused exception
...
}
我对这个例外很困惑。有人能帮忙吗?
我使用的是Spring Boot 2.1.6。release和shiro-spring-boot-starter 1.4.0。
您是否使用shiro-spring-boot-web-starter依赖项而不是shiro-spring-boot-starter依赖项?
根据这个文档,看起来这是spring boot web应用程序所需要的。
https://shiro.apache.org/spring-boot.html#spring-webapplications
我正在用Spring/Hibernate/JAX-RS(jersey)做项目。我想把四郎整合到我的项目中。我按照文档中的方式进行配置。我有自己的Realm实现。 问:问题是当调用authBasic路径时,它与MyRealm很好地配合。但是当我调用authc(FormAuthenticationFilter)时,它会显示登录页面,而当我输入凭据时,它会再次进入登录页面,而不会调用MyRealm。
问题内容: 我正在开发其中要求之一是能够基于GPS数据执行实时反向地理编码操作的应用程序。特别是,我必须能够确定纬度,经度对映射到的州/省,并检测何时从一个州/省迁移到另一个州/省。 到目前为止,我有两个想法,但想知道是否有人对以下两个方面有任何想法: 有效解决此问题的最佳方法是什么? 在哪里可以找到一个好地方,北美州/省边界的合适格式是什么 首先,这是我的两个主要想法: 将北美分成一个网格,网格
我有以下代码: Eclipse在
我正在使用KeyCloak3.4.3和保护基于Spring的Rest服务。 2018-02-28 15:19:10.216警告7813---[nio-8080-exec-2]A.A.ClientIdandSecretCredentialsProvider:客户端“DemoclientId”没有可用的机密2018-02-28 15:19:10.375错误7813---[nio-8080-exec-2
问题内容: 我认为解决此问题的最佳方法就是粘贴我的代码: 如果我先点击 编辑按钮 和比 确认编辑 ,我试图获得(作为结果)的页面标签 FINALLY我在这里 不幸的是,这并不发生。我单击“ 编辑”按钮 ,然后单击“ 确认编辑” ,则什么也没有发生。 我怎么了 干杯 用新版本更新 问题答案: 好吧,那变得复杂了。是否将调用该操作还取决于组件或其父项之一的属性的结果。由于Bean在请求范围内,因此默认
本文向大家介绍SpringBoot整合Shiro的代码详解,包括了SpringBoot整合Shiro的代码详解的使用技巧和注意事项,需要的朋友参考一下 shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/ 它提供了很方便的权限认证和登录的功能. 而springboot作为一个开源框架,必然提供了和shiro整合的功能!接下来就用springbo