- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Shiro
(v1.2.1) 作为安全框架,它工作得很好,但是在 Tomcat
(v7.0.32) 的访问日志中你无法远程访问当经过身份验证的用户访问任何资源时,用户登录。对于我的示例 Web 应用程序,我使用了 Shiro
SVN 示例中提供的默认配置 repo .
127.0.0.1 - - [13/Nov/2012:08:22:55 +0200] "POST /pacs/login.jsp HTTP/1.1" 302 - // User here not logged
127.0.0.1 - - [13/Nov/2012:08:22:55 +0200] "GET /pacs/ HTTP/1.1" 200 821 // Here user is accessing protected page, so we got permission.
有什么办法可以解决这个问题吗?
最佳答案
我不确定这是否是官方解决方案,但它是适合我的解决方案:
对于 AccessLogValve 模式,使用
%u - Remote user that was authenticated (if any), else '-'
这将打印“猜测的用户名”。如果你问 google tomcat 是如何猜测用户名的,你会找到类似这样的内容:
For the user name, the manager uses the Session.getPrincipal() if available;
if not, it tries the following Session attribute names:
Login
User
userName
UserName
Utilisateur
using the given case, lower case, and upper case. Failing that, it searches for
attributes that are instances of java.security.Principal or
javax.security.auth.Subject.
在我的例子中,我只是修改了登录代码以将用户对象写入 session 。 Tomcat 将在此对象上调用 .toString() 以打印“猜测的用户名”。
如果 .toString() 的结果不是你想要的,你也可以尝试使用
%{xxx}s xxx is an attribute in the HttpSession
在您的 AccessLogValve 配置中,以便从您的 session 中打印另一个属性。
希望对您有所帮助。
关于java - Shiro 和 Tomcat AccessLogValve,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13356404/
我在 RHEL 7.2 服务器上安装了 Apache Httpd 2.4.6 和 Tomcat 7.0.54,配置了 AJP 连接器和 SSL,并启用了 SELinux。当我启动 Tomcat 服务器
下面是我的 server.xml 日志配置,我正在尝试调试某些内容,并且确实需要访问日志。尽管配置了 Valve 属性,Tomcat 突然停止创建访问日志。有什么指点吗? 提前谢谢您。 最佳答
我想用 setenv.bat 中的值填充 accesslogvalve 中的“dir”。例如: 我在 setenv.bat 中指定了“my.logs.dir” 设置 my.logs.dir=C:\x
我尝试让 Tomcat 有条件地跳过日志记录,因此访问日志不会充满大量本地应用程序到应用程序的通信条目。 目前我在 server.xml 中有以下内容: 如您所见,我使用 RemoteIpValv
是否可以在不重启 Tomcat 的情况下重新加载 server.xml 中的更改? 我想在许多服务器上对我的 access_log 格式(在 org.apache.catalina.valves.Ac
是否可以将 AccessLogValve 配置为在将密码写入日志文件之前隐藏/替换密码?我对阀门不熟悉,也许有办法插入自定义过滤器/阀门? 最佳答案 使用自定义 AccessLogValve 类的解决
我正在使用 Shiro (v1.2.1) 作为安全框架,它工作得很好,但是在 Tomcat (v7.0.32) 的访问日志中你无法远程访问当经过身份验证的用户访问任何资源时,用户登录。对于我的示例 W
我正在开发一个 Spring 启动应用程序,我想通过我的 slf4j 日志系统将 Tomcat 的访问日志路由到远程系统日志。 既然是Spring,我想避免接触tomcat的server.xml文件。
简单的问题是,使用 AccessLogValve 相对于 FastCommonAccessLogValve 是否存在明确的、可量化的开销? 如果我在 JBoss 4.2.3GA 中启用访问日志记录,我
我们有一个独立的 spring-boot 应用程序,我们希望在其中设置访问日志模式 X-forwarded-for header 存在于请求中:它应该作为第一个字段包含在日志中 X-forwarded
我是一名优秀的程序员,十分优秀!