NutzCN Logo
问答 我要把登录的用户信息放session中 是不是只能在onLoginSuccess里 再单独查询一下用户信息放进去
发布于 3040天前 作者 congratulations1 3149 次浏览 复制 上一个帖子 下一个帖子
标签:

我要把登录的用户信息放session中
是不是只能在onLoginSuccess里 再单独查询一下用户信息放进去
一定要要单独再查询么 好像之前已经查询过一次了

建议换新版插件中的simplefilter
我已经是nutz-integration-shiro-1.r.56-sources.jar
simplefilter怎么用?

20 回复

还是没有看到怎么把登录的用户信息放session中?

用入口方法做登陆,想放啥就放啥

哦,你没用shiro做登录了

@congratulations1 没用Filter方式做登陆而已, 但一样是shiro的login登陆.

嗯,明白了,你是入口方法里调用shiro的登陆

兽总 我也换成从入口方法调用shiro登录了
但是为什么 不会拦截url跳登录页面了呢
给分析下可能是哪的问题

"不会拦截url跳登录页面" 看不懂.

就是我没有登录,直接输入一个登录后 才能访问的url
没有被拦截住 跳到登录页面

HTTP Status 403 -

type Status report

message

description Access to the specified resource has been forbidden.
Apache Tomcat/7.0.56

shiro.ini里面配了其他Filter?

403的时候NutFilter是否有输出日志

[main]
sha256Matcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher

在realm定义之前加入

cacheManager = org.apache.shiro.cache.ehcache.EhCacheManager

cacheManager.cacheManagerConfigFile=classpath:ehcache.xml

securityManager.cacheManager = $cacheManager
nutzdao_realm = com.erpc.base.shiro.realm.SimpleAuthorizingRealm

nutzdao_realm = com.erpc.base.shiro.realm.NutDaoRealm

nutzdao_realm.credentialsMatcher = $sha256Matcher

authc = org.nutz.integration.shiro.SimpleAuthenticationFilter

authc = com.erpc.base.shiro.realm.CsaptchaFormAuthenticationFilter

authc.loginUrl = /user/login
logout.redirectUrl= /user/login

[urls]
/rs/* = anon
/user/logout = logout
/user/error = anon
/user/profile/active/mail = anon
/user/** = authc

[main]
sha256Matcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher
cacheManager = org.apache.shiro.cache.ehcache.EhCacheManager
securityManager.cacheManager = $cacheManager
nutzdao_realm = com.erpc.base.shiro.realm.SimpleAuthorizingRealm
nutzdao_realm.credentialsMatcher = $sha256Matcher

authc = org.nutz.integration.shiro.SimpleAuthenticationFilter
authc.loginUrl = /user/login
logout.redirectUrl= /user/login

[urls]
/rs/* = anon
/user/logout = logout
/user/error = anon
/user/profile/active/mail = anon
/user/** = authc

好像不识别井号,这是我的ini,403的时候 没有任何日志输出

访问的地址是啥?

既然没有任何日志,那就是shiro干的事了

访问的地址 http://localhost:8080/ERPCloud/user/toHome
以前没从入口方法登录的时候 访问这个地址 就跳转到登录页面了

去掉这个试试

/user/** = authc

刚刚看了一下SimpleAuthenticationFilter的代码

	protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
		((HttpServletResponse)response).sendError(403);
		return false;
	}

继承它改一下, 或者我提交个修改?

你提个修改吧,
按照你说的改了下好使了,
兽总能给我说说那句/user/** = authc的意思么

http://shiro.apache.org/webapp-tutorial.html#step5

/account/** = authc
# This Shiro filter chain definition means “Any requests to /account (or any of its sub-paths) must be authenticated”.
添加回复
请先登陆
回到顶部