Tag: 认证

Java Play! 2 – 身份validation没有意义

这是Java Play的后续内容! 2 – 使用cookie进行用户管理 来自zentask的例子 public class Secured extends Security.Authenticator { @Override public String getUsername(Context ctx) { return ctx.session().get(“email”); } @Override public Result onUnauthorized(Context ctx) { return redirect(routes.Application.login()); } // Access rights public static boolean isMemberOf(Long project) { return Project.isMember( project, Context.current().request().username() ); } public static boolean isOwnerOf(Long task) { return Task.isOwner( task, Context.current().request().username() […]

将单用户Apache Derby数据库转换为用户数据库

我有一个Apache Derby数据库,到目前为止,一直在本地访问。 它现在需要由多台计算机访问,所以我觉得它应该有一个用户名/密码。 如何获取现有数据库并追溯添加用户 如何为该用户提供本地/网络身份validation? 我记得几年前通过他们的文档查看,看起来在这些情况下开发人员还有很多工作要做。 为了澄清更多,关于第1点, 这个页面说: 注意:创建数据库后,目前无法更改数据库所有者。 这意味着如果您计划在启用SQL授权的情况下运行,则应确保以要成为所有者的用户身份创建数据库。 我认为这意味着我可能必须使用命名用户创建一个新数据库,并将所有日期从原始单用户数据库迁移到新数据库。 它是否正确? 有更容易的方法吗? 关于第二个问题, 手册说 重要提示:Derby的内置身份validation机制仅适用于开发和测试目的。 强烈建议生产系统依赖外部目录服务(如LDAP或用户定义的类)进行身份validation。 对我来说,哪个内置身份validation不值得使用。 我们也不可能去LDAP集成,所以这两者之间是否有值得使用的东西?

Java WebApp中的CAC身份validation

我看到stackoverflow上还有一些其他Java和CACpost。 我是所有这些东西的初学者,我仍在尝试一个框架,该做什么以及在我的脑海中去哪里。 我正在为一个大型组织工作,该组织使用带有Windows 7盒子的CAC来validation想要进入他们PC的用户。 他们将CAC固定在键盘上并键入PIN码。 我的老板想改变我们的Java Webap,这样如果用户在他们的计算机上安装了CAC,它就不会让用户进行身份validation。 如果没有,他们将通过传统的LDAP登录。 我们正在使用WebLogic 11g和Java 6。 从谷歌搜索似乎有两种方法: 实现applet以读取用户的CAC并将SSL证书发送到webapp。 在Web服务器中实现“相互SSL身份validation”,这将导致浏览器将CAC上的SSL证书发送到Web应用程序 我对我的选择有正确的评价吗? 哪种解决方案更容易? 从长远来看哪个更麻烦,更强大? 我对SSL几乎一无所知,这似乎在两种解决方案中都很常见。 我发现了一些关于抽象概念的SSL教程。 任何人都可以推荐一个很好的教程,我想做什么? 非常感谢您提供任何信息或提示 史蒂夫

WSO2 Identity Server AuthenticationAdmin API身份validation失败

我正在按照这里提到的教程: https : //docs.wso2.com/display/IS500/Managing+Users+and+Roles+with+APIs 并使用页面上提供的示例代码: http : //cache.facilelogin.com/org.wso2.identity.um.sample.zip 我已将所需的JAR添加到eclipse项目中。 该项目成功构建,没有任何问题。 但是,当我运行该项目时,我收到以下错误: log4j:WARN找不到logger(org.apache.axiom.om.util.StAXUtils)的appender。 log4j:WARN请正确初始化log4j系统。 org.apache.axis2.AxisFault:身份validation失败:在org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation)上传递了无效的远程地址 – org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:508)中的myapp .java:375)org.apache.axis.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)位于org.apache.axis上的org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)。 client.OperationClient.execute(OperationClient.java:165)org.wso2.carbon.authenticator.proxy.AuthenticationAdminStub.login(AuthenticationAdminStub.java:311)at org.wso2.identity.um.sample.IdentityServerClient.main(IdentityServerClient。 Java的:67) 这是代码: package org.wso2.identity.um.sample; import java.util.HashMap; import java.util.Map; import org.apache.axis2.context.ConfigurationContext; import org.apache.axis2.context.ConfigurationContextFactory; import org.apache.axis2.transport.http.HTTPConstants; import org.wso2.carbon.authenticator.proxy.AuthenticationAdminStub; import org.wso2.carbon.um.ws.api.WSRealmBuilder; import org.wso2.carbon.user.core.UserRealm; import org.wso2.carbon.user.core.UserStoreManager; public class IdentityServerClient { // ONE TIME TASKS WE NEED TO DO BEFORE EXECUTING […]

JMX身份validation – 基于角色的MBean操作

我已经通过RMI实现了JMXAuthenticator for JMX身份validation,但是我不确定如何创建角色以允许readonly / readwrite访问级别。 例如,在JMXAuthenticator.authenticate我有自定义身份validation逻辑,并希望这可以确定访问角色。 我尝试了以下但在JConsole中执行操作时没有任何区别: @Override public Subject authenticate(Object credentials) { Subject subject = new Subject(); JMXPrincipal p; //…my logic String accessLevel = myCustomLogic(); if (accessLevel.equals(“admin”)) { p = new JMXPrincipal(“adminrole”); } else { p = new JMXPrincipal(“basicrole”); } subject.getPrincipals().add(p); return subject; } 然后我创建了一个包含的访问文件jmxaccess.properties adminuser readwrite basicuser readonly 和jmx.management.properties ,其中包含com.sun.management.jmxremote.access.file=PATH TO ACCESS FILE […]

Applet加载身份validation

我有一个在IIS 7.5上运行的网站,带有集成的Windows身份validation。 在/Content文件夹(具有匿名访问权限)中有一个applet – MyApplet.jar 。 使用此applet时,Java显示“需要身份validation”弹出窗口(即使我选中“记住”复选框,此弹出窗口也不记得我的密码)。 有没有办法删除这个窗口? 这是加载applet之前的Java控制台: network: Cache entry not found [url: http://192.168.10.136/Web/Examination.mvc/Details/PatientEHR/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration, version: null] network: Connecting http://192.168.10.136/Web/Examination.mvc/Details/PatientEHR/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration with proxy=DIRECT network: Connecting http://192.168.10.136:80/ with proxy=DIRECT network: Connecting http://192.168.10.136/Web/Examination.mvc/Details/PatientEHR/META-INF/services/org.apache.xerces.xni.parser.XMLParserConfiguration with cookie “JCP-store=HDImageStore; JCP-key=Inf_WOPass” network: Firewall authentication: site=/192.168.10.136:80, protocol=http, prompt=, scheme=ntlm

通过spring security将密码传递给dao对象

我正在使用struts2和spring security创建一个应用程序,并且几乎没有问题/问题。 如何将密码传递给DAO以便将密码和用户名与DB的结果进行比较? 我知道可以通过实现UserDetailsService并覆盖该方法来传递用户名 public UserDetails loadUserByUsername(String username) 第二个问题是我在重写loadUserByUsername()调用了方法SecurityContextHolder.getContext().getAuthentication()得到了null对象。 这是为什么? 再次 – 如何获取用户将填写j_password字段的密码。 以下是我的代码: web.xml中 Frontend contextConfigLocation classpath:applicationContext.xml org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG /WEB-INF/configs/tiles-resources.xml springSecurityFilterChain org.springframework.web.filter.DelegatingFilterProxy springSecurityFilterChain /* struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter actionPackages fe.web.actions struts2 /* org.springframework.web.context.request.RequestContextListener org.springframework.web.context.ContextLoaderListener org.apache.tiles.web.startup.TilesListener org.springframework.security.web.session.HttpSessionEventPublisher 弹簧security.xml文件 UserAuthenticator package fe.security; import java.util.Collection; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UsernameNotFoundException; public […]

如何使用LDAP,应用程序,第三方应用程序等进行身份validation

我们将在java中创建一个Web应用程序。 对于用户身份validation,目前我们使用LDAP。 但我们希望有一些其他选项,如应用程序级别身份validation(来自数据库),gmail,facebook等。 与登录页面上的堆栈溢出有些类似。 我们将维护一个属性文件,该文件将包含所有可用的身份validation选项,如LDAP,facebook,gmail等。 如果我们想要再添加一个身份validation服务,我们会将其添加到此属性文件中,然后我们将需要添加帮助文件,这将执行身份validation的实际工作。 这应该是高度可定制的。 我对此有以下问题, 1)最好的方法是什么? 2)如何进行谷歌,脸书等第三方认证? PS:当我们使用gmail等进行身份validation时,我们需要一些基本信息回到我们可以使用的应用程序。

使用GWT中的Google帐户进行授权/身份validation

我正在尝试启用我的GWT应用程序,使用他们的Google帐户对用户进行身份validation。 我基本上需要的是为每个用户提供一个唯一的值,并确保这些值始终描述正确的用户。 主要要求是,我必须编写的代码行数尽可能小:-) 我正在尝试使用gwt-oauth2库,但看起来OAuth的整个想法是提供一个令牌,允许访问不同的私人资源,如邮件,联系人等,但它没有定义用户本身。 问题#1 – 谷歌给我的令牌只是定义了“具有访问用户私人数据的权限的会话”并且它没有定义“唯一用户”吗? 问题#2 – 我应该使用OpenID,因为我100%确定我永远不需要访问任何私有数据,我唯一需要的是拥有用户的唯一描述符? 对于那些认为它是最简单的方法来复制GWT应用程序的Google身份validation的人? (非GAE托管) 。 这个问题不是关于用于尽快解决问题的库,这个问题是关于“认证是否是授权的子集”的理解。 对于我的案例,问题是OAuth与OpenID。

如何使用基于表单登录的java Web应用程序通过AJAX处理身份validation

我有一个在WebSphere 7上运行的java Web应用程序。该应用程序使用表单身份validation方法,部分应用程序使用ajax请求访问某些受保护资源。 但是,当用户的会话到期时,我将获取登录页面来代替应该由ajax请求刷新的内容。 有没有办法处理这个问题? WebSphere使用登录页面返回响应状态200,因此我不能依赖它。 也许有办法告诉服务器在某些情况下应该使用基本身份validation,但我不知道如何使用。 我还想过先检查会话是否是新的,首先请求不受保护的资源然后返回某个状态,但它看起来像代码味道解决方案……