问题标签 [realm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tomcat - 使用 md5 和 salt 和 j 安全检查
现在我正在使用 j 安全检查和 md5 来验证我的 jsp 页面。我想在将密码存储到数据库之前对其进行加盐。由于在学校限制访问,我无权创建一个触发器来注入一些盐。有没有其他方法可以做到这一点?
这是我的领域:
jakarta-ee - Glassfish 无法启动,如何重置 glassfish 实例?
我通过管理控制台对我的 glassfish jdbc 资源池进行了更改,我的最后一个更改是一个领域配置,我将用户表字段从“tablename”重命名为“db”。“tablename”作为尝试让 jdbcrealm auth 使用一个德比数据库,但现在我的 glassfish 实例无法启动。我已经卸载并重新安装了 netbeans 和 glassfish,目前出现此错误:
有没有办法将我的 glassfish 实例重置为其默认值,以便我可以再次开始使用它?
web-services - 如何在 Tomcat Servlet Container 中对 webapp 请求进行身份验证和授权
在 Tomcat Servlet Container 中对 webapp 请求进行身份验证和授权的最佳方法是什么?
我有两个想法,
1 - 使用 Tomcat 领域。2 - 有一个 Web 服务,它提供了根据 XACML 策略评估用户请求的能力。这意味着如果我们将用户名、资源名(这里是 servlet)发送到该 Web 服务,它将根据 XACML 策略(我们可以更改或添加新策略)评估请求并说允许或拒绝。
什么是最好的方法 ?
glassfish - Glassfish 在领域身份验证中创建多个 http 会话
我有一个关于领域身份验证的问题,其中 glassfish 创建了多个 http 会话。这是一个例子
Web.xml:
glassfish-web.xml:
登录.jsp:
会话监听器:
@WebListener 公共类 SessionListener 实现 HttpSessionListener {
公共无效会话创建(HttpSessionEvent arg0){
System.out.println("会话创建id:"+arg0.getSession().getId());
}公共无效会话销毁(HttpSessionEvent arg0){
}
}
当我进行身份验证时,glassfish 创建一个新会话:
信息:会话创建 ID:29c5d904db0e40b9cfbdac40aa5e
当我点击“回家”链接或刷新页面时,glassfish 会创建另一个 http 会话:
信息:会话创建 ID:2a67270137e38c150bf3690e2e46
而且我还注意到 glassfish 永远不会破坏第一个创建的会话。
谢谢你的帮助
eclipse - 无法在 tomcat(7) 运行时更改 tomcat-users.xml 和 server.xml **within** eclipse(juno)
我今天遇到了一个问题,我希望有人可以为我回答/解释。我试图向 tomcat-users.xml 添加一个新角色和新用户,并向 server.xml 添加一个领域,以在我正在玩的一个小型 Web 应用程序中测试一些基本身份验证。我在基本 tomcat 目录中进行了更改,然后尝试使用新角色登录。似乎没有任何效果。我刚刚发现 Eclipse 在我创建服务器实例时创建了一个新的 tomcat-users.xml 和 server.xml,所以我想我只需在其中添加我的新用户(和领域),一切都会好起来的;但是,当我更改这些文件时,它不会应用于服务器。我重新启动了 eclipse,它将两个文件都更改为默认值。我在某处读到了这个可怕的解决方法,删除了 eclipse 中的 tomcat-reinstall tomcat,它将最新的 tomcat-users.xml 导入到 eclipse 中。我的问题是:有没有办法从eclipse改变tomcat用户?如果没有,除了删除服务器还有其他解决方案吗?
谢谢
检查出来
maven - 本地主机的 Tomcat 领域安全约束禁用
我添加了安全约束来保护应用程序的某些文件夹。
我向 tomcat-users 添加了适当的用户 SUPER,当我部署应用程序时,这一切似乎都运行良好。但是,当我通过 maven 从 exclipse 本地运行它时,使用 tomcat7:run,我的本地设置没有 tomcat-users.xml 文件,所以基本上我不确定如何在本地配置用户。安全有效,但未定义用户。
你能告诉我如何为 mavens tomcat 插件传递或指定自定义 tomcat-sers.xml 文件吗
security - 如何以管理员身份从 Glassfish 定义登录模块?
我目前正在实现一个由 neo4j DB 支持的 Glassfish 领域,为此我定义了一个Realm
和一个LoginModule
类。
我可以使用create-auth-realm asadmin
命令安装领域。但是只有当它与文件LoginModule
中定义的相关联时,Glassfish 才能识别该领域config/login.conf
。
例如,就我而言,我必须执行以下操作:
创建身份验证领域:
create-auth-realm --classname com.mycompany.security.MyRealm --property jaas-context=MyLoginModule myrealm
然后
/li>MyLoginModule
在该config/login.conf
文件中定义:
我可以login.conf
手动编辑文件,但想使用 asadmin 命令自动执行此步骤。
你知道这样的 asadmin 命令吗?
web-applications - 如何使用领域清除凭据?
我真的很想知道realm的用法。 http://en.wikipedia.org/wiki/Basic_access_authentication说
现有浏览器会保留身份验证信息,直到关闭选项卡或浏览器或用户清除历史记录。 [1] HTTP 没有为服务器提供一种方法来指导客户端丢弃这些缓存的凭据。这意味着服务器无法在不关闭浏览器或使用 URL 中的会话的情况下“注销”用户的有效方法。
在我的编码中
因此该站点请求基于领域的身份验证。一旦它请求,用户名和密码就会保存在某个地方,直到浏览器缓存或浏览历史被删除,这些信息才会被保存。
我的问题是有没有办法使用 servlet 清除服务器中的此类凭据? 任何帮助是极大的赞赏!!!
glassfish-3 - 创建自定义 Glassfish V3 领域
我正在尝试为 Glassfish V3.1.1 创建自定义领域,但是当我使用 BASIC 方法登录时出现了一些 LoginException:
[#|2012-10-11T22:57:21.625+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;MethodName=invoke;|安全检查请求 GET /testForMySimRealm/S1|#]
[#|2012-10-11T22:57:21.625+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;方法名=调用;| 调用 hasUserDataPermission()|#]
[#|2012-10-11T22:57:21.625+0200|FINE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=35;_ThreadName=Thread-2;ClassName =com.sun.web.security.RealmAdapter;MethodName=hasUserDataPermission;|[Web-Security][ hasUserDataPermission ] 主体:空 ContextPath:/testForMySimRealm|#]
[#|2012-10-11T22:57:21.625+0200|FINE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=35;_ThreadName=Thread-2;ClassName =com.sun.web.security.RealmAdapter;MethodName=invokeWebSecurityManager;|[Web-Security] [ hasResourcePermission ] 主体:空 ContextPath:/testForMySimRealm|#]
[#|2012-10-11T22:57:21.625+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;方法名=调用;| 调用 authenticate()|#]
[#|2012-10-11T22:57:21.640+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;方法名=调用;| 验证失败()测试|#]
[#|2012-10-11T22:57:21.640+0200|FINE|glassfish3.1.2|org.apache.catalina.connector.OutputBuffer|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .OutputBuffer;MethodName=setConverter;|得到编码:ISO-8859-1|#]
[#|2012-10-11T22:57:21.640+0200|FINE|glassfish3.1.2|org.apache.catalina.connector.OutputBuffer|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .OutputBuffer;MethodName=realWriteBytes;|realWrite(b, 0, 1073) com.sun.grizzly.tcp.Response@192d307|#]
[#|2012-10-11T22:57:21.640+0200|FINEST|glassfish3.1.2|org.apache.catalina.connector.InputBuffer|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .InputBuffer;MethodName=recycle;|recycle()|#]
[#|2012-10-11T22:57:21.640+0200|FINE|glassfish3.1.2|org.apache.catalina.connector.OutputBuffer|_ThreadID=35;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .OutputBuffer;MethodName=recycle;|recycle()|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;MethodName=invoke;|安全检查请求 GET /testForMySimRealm/S1|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;方法名=调用;| 调用 hasUserDataPermission()|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=36;_ThreadName=Thread-2;ClassName =com.sun.web.security.RealmAdapter;MethodName=hasUserDataPermission;|[Web-Security][ hasUserDataPermission ] 主体:空 ContextPath:/testForMySimRealm|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=36;_ThreadName=Thread-2;ClassName =com.sun.web.security.RealmAdapter;MethodName=invokeWebSecurityManager;|[Web-Security] [ hasResourcePermission ] 主体:空 ContextPath:/testForMySimRealm|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;方法名=调用;| 调用 authenticate()|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=36;_ThreadName=Thread-2;ClassName =com.sun.web.security.RealmAdapter;MethodName=authenticate;|用于验证用户/密码的Tomcat回调|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=36;_ThreadName=Thread-2;ClassName =com.sun.web.security.RealmAdapter;MethodName=authenticate;|usename = j|#]
[#|2012-10-11T22:57:24.625+0200|警告|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=36;_ThreadName=Thread-2;| WEB9102:Web 登录失败:com.sun.enterprise.security.auth.login.common.LoginException:登录失败:Entrée NULL 无效:nom|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.web.security|_ThreadID=36;_ThreadName=Thread-2;ClassName =com.sun.web.security.RealmAdapter;MethodName=authenticate;|Exception com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Entrée NULL non valide: nom at com.sun.enterprise.security .auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:394) 在 com.sun.enterprise.security.auth.login.LoginContextDriver.login(LoginContextDriver.java:240) 在 com.sun.enterprise.security.auth.login .LoginContextDriver.login(LoginContextDriver.java:153) 在 com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:514) 在 com.sun.web.security.RealmAdapter.authenticate(RealmAdapter.java:455) 在org.apache.catalina.authenticator。BasicAuthenticator.authenticate(BasicAuthenticator.java:169) at com.sun.web.security.RealmAdapter.invokeAuthenticateDelegate(RealmAdapter.java:1333) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:551) at org .apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:623) 在 org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve .java:161) 在 org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) 在 com.sun.enterprise。 v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) 位于 com.sun.enterprise.v3.services.impl.ContainerMapper。com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) com.sun 的服务(ContainerMapper.java:195) .grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) 在 com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) 在 com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137 ) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) 在 com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) 在 com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain. java:79) 在 com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) 在 com.sun.grizzly.SelectionKeyContextTask。在 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) 在 com.sun 的 com.sun.grizzly.ContextTask.run(ContextTask.java:71) 调用(SelectionKeyContextTask.java:59) .grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:722) 原因:javax.security.auth.login.LoginException:Entrée NULL 无效:在 javax.security.auth.login.LoginContext.init(LoginContext.java:246) 在 javax.security.auth.login.LoginContext.(LoginContext.java:382) 在 javax.security.auth.login.LoginContext.( LoginContext.java:459) 在 com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver.java:381) ... 28 更多 |#]71) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 在 java.lang.Thread 的 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) .run(Thread.java:722) 引起:javax.security.auth.login.LoginException: Entrée NULL non valide : nom at javax.security.auth.login.LoginContext.init(LoginContext.java:246) at javax。 security.auth.login.LoginContext.(LoginContext.java:382) at javax.security.auth.login.LoginContext.(LoginContext.java:459) at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin( LoginContextDriver.java:381) ... 28 更多 |#]71) 在 com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) 在 java.lang.Thread 的 com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) .run(Thread.java:722) 引起:javax.security.auth.login.LoginException: Entrée NULL non valide : nom at javax.security.auth.login.LoginContext.init(LoginContext.java:246) at javax。 security.auth.login.LoginContext.(LoginContext.java:382) at javax.security.auth.login.LoginContext.(LoginContext.java:459) at com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin( LoginContextDriver.java:381) ... 28 更多 |#]运行(Thread.java:722)引起:javax.security.auth.login.LoginException:Entrée NULL non valide:在 javax.security.auth.login.LoginContext.init(LoginContext.java:246) 在 javax.security .auth.login.LoginContext.(LoginContext.java:382) 在 javax.security.auth.login.LoginContext.(LoginContext.java:459) 在 com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver .java:381) ... 还有 28 个 |#]运行(Thread.java:722)引起:javax.security.auth.login.LoginException:Entrée NULL non valide:在 javax.security.auth.login.LoginContext.init(LoginContext.java:246) 在 javax.security .auth.login.LoginContext.(LoginContext.java:382) 在 javax.security.auth.login.LoginContext.(LoginContext.java:459) 在 com.sun.enterprise.security.auth.login.LoginContextDriver.doPasswordLogin(LoginContextDriver .java:381) ... 还有 28 个 |#]doPasswordLogin(LoginContextDriver.java:381) ... 28 更多 |#]doPasswordLogin(LoginContextDriver.java:381) ... 28 更多 |#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|org.apache.catalina.authenticator.AuthenticatorBase|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.authenticator .AuthenticatorBase;方法名=调用;| 验证失败()测试|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|org.apache.catalina.connector.OutputBuffer|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .OutputBuffer;MethodName=setConverter;|得到编码:ISO-8859-1|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|org.apache.catalina.connector.OutputBuffer|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .OutputBuffer;MethodName=realWriteBytes;|realWrite(b, 0, 1073) com.sun.grizzly.tcp.Response@7e592c|#]
[#|2012-10-11T22:57:24.625+0200|FINEST|glassfish3.1.2|org.apache.catalina.connector.InputBuffer|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .InputBuffer;MethodName=recycle;|recycle()|#]
[#|2012-10-11T22:57:24.625+0200|FINE|glassfish3.1.2|org.apache.catalina.connector.OutputBuffer|_ThreadID=36;_ThreadName=Thread-2;ClassName=org.apache.catalina.connector .OutputBuffer;MethodName=recycle;|recycle()|#]
这是我的领域课程:
CustomSimLoginModule 扩展 AppservPasswordLoginModule :
}
CustomSimRealm 扩展 AppservRealm :
这 2 个类使用 maven 打包到 JAR 文件中,并具有以下依赖项:
JAR 文件被复制到 ${GLASSFISH}/glassfish/domains/domain1/lib 目录中,我将 login.conf 更改为:
和 domain.xml :
Glassfish 启动时未引发异常,但在用户输入凭据时会引发上述异常。
请问我做错了什么?
PS:没有使用 Glassfish create-auth-realm 命令,我手动更改了 login.conf 和 domain.xml,这可能是问题吗?
感谢您的想法
奥利维尔
active-directory - 活动目录的领域配置
我想对希望通过 Active Directory 访问特定资源的用户进行身份验证。我使用 JSF 2.1 和 Glassfish 3.1.2。我试试 这个,这个,这个,但它对我不起作用。用户无法登录。始终将我重定向到错误页面。
domain.xml 片段:
WIN-AK5HJBX4R4G - 它是我的虚拟服务器的默认名称(可以是 192.168.56.101 或只是 localhost。因为 webapp 部署在此服务器上并不意味着它的命名方式,AD 也在此服务器上)。
我尝试了某些形式的 search-bind-dn,例如:
没有任何工作。用户仍然无法登录。
web.xml 片段:
glassfish-web.xml 片段:
我还添加-Djava.naming.referral=follow
了 JVM 选项。
- 如果可能的话,我在哪里可以检查任何异常或错误等“连接到服务器失败”或“密码或登录错误”?有日志文件吗?或者是其他东西?
- 我错过了配置文件中的某些内容吗?