「java-shiro」javashiro权限管理

博主:adminadmin 2022-12-21 23:27:07 60

本篇文章给大家谈谈java-shiro,以及javashiro权限管理对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java web 登录 使用shiro和基于session的方式有何不同

shiro自己实现了sessionDAO换言之就是他自己也存储了session,所以原理是一样的。

shiro的主要作用还是权限的控制方面,标识登陆状态这个只是其中很小的一部分。

shiro的优点,个人认为他的优点在于

1、作为安全验证框架,使用起来比spring-security方便

2、提供web支持,可以在jsp中通过shiro标签方便的做到细粒度的权限管控

3、可以直接使用annotation对所使用的方法做权限管控,节省代码。

4、可扩展,可插拔。

java shiro认证问题如何解决?

如果是的话 就把spring-shiro.xml里 加密的部分去掉bean id="monitorRealm" class="com.test.util.MonitorRealm"property name="credentialsMatcher" bean class="org.apache.shiro.authc.credential.HashedCredentialsMatcher" property name="hashAlgorithmName" value="MD5"/ !-- true means hex encoded, false means base64 encoded -- property name="storedCredentialsHexEncoded" value="true"/ !-- 迭代次数 -- property name="hashIterations" value="2" / /bean /property/bean改成bean id="monitorRealm" class="com.test.util.MonitorRealm"/bean

for token submission

Authentication failed for token submission [org.apache.shiro.authc.UsernamePasswordToken - admin, rememberMe=false].

Possible unexpected error? (Typical or expected login exceptions should extend from AuthenticationException).

原因:

我今天也遇到了这个错误,并不是密码验证错误, 我用的mabatis 有个mapperxml配置文件写错(并非登录相关的mapper),

参数类型是parametertype 我搞成了parametermap 报错就是这个错误。分析下在登录时login方法会调用我们重写的doGetAuthenticationInfo方法,

这个方法我们会通过dao实现层写的登录验证相关方法(我的是Admin admin = this.accountService.findAdmin(username))来将登录信息存入

SimpleAuthenticationInfo,就是在这个地方,项目会加载我们所配置的相关信息,对我而言就是mabatis里的xml 因为xml里的配置有错,

所以Admin admin = this.accountService.findAdmin(username)这个方法尽管与出错的xml无关也会报错。

所以说应该检查下自己与doGetAuthenticationInfo相关的配置文件是否有从,可以try{currentUser.login(token)}

catch(AuthenticationException a){}异常捕获后再次debug调试,就能发现问题出在哪里了。

java shiro报错,请大神帮忙

No bean named 'shiroSecurityRealm' is defined。

你看看bean中是否缺少shiroSecurityRealm的定义

你缺少的这个需要自己定义一个类继承AuthorizingRealm 重写方法就行了。这个类就是主要进行权限控制的

shior名词解释

Shiro 是java 的一个安全权限框架。

Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境上,也可以用在JavaEE环境

Shiro 可以完成 :认证、授权、加密、会话管理、与Web集成、缓存等,

Subject :

应用代码直接交互的对象是Subject,也就是说Shiro的对外API核心就是Subject。Subject代表了当前“用户”,这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等;与Subject的所有交互都委托给SecurityManager;Subject其实是一个门面,SecurityManager才是实际的执行者;

SecurityManager :

安全管理器;即所有与安全有关的操作都会与SecurityManager交互;且其管理着所有的Subject;可以看出它是Shiro的核心,它负责Shiro的其他组件进行交互,他相当于SpringMVC中DispatcherServlet的角色;

Realm :

Shiro从Realm获取安全数据(如用户、角色、权限),就是说SecurityManager要验证用户身份,那么它需要从Realm获取相应的用户进行比较以确定用户身份是否合法;也要从Realm获取相应的角色/权限进行验证用户是否能进行操作;可以吧Real看成DataSource

java shiro认证问题

我也不清楚,没去看代码,但我知道如何解决。

是报这个错么

Caused by: java.lang.IllegalArgumentException: Odd number of characters

如果是的话 就把spring-shiro.xml里 加密的部分去掉

bean id="monitorRealm" class="com.test.util.MonitorRealm"

property name="credentialsMatcher"

           bean class="org.apache.shiro.authc.credential.HashedCredentialsMatcher"

               property name="hashAlgorithmName" value="MD5"/

              !-- true means hex encoded, false means base64 encoded --

               property name="storedCredentialsHexEncoded" value="true"/

              !--  迭代次数 --

              property name="hashIterations" value="2" /

           /bean

   /property

/bean

改成

bean id="monitorRealm" class="com.test.util.MonitorRealm"

/bean

java-shiro的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javashiro权限管理、java-shiro的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-21,除非注明,否则均为首码项目网原创文章,转载请注明出处。