Bob使用Web应用程序来实现某些目标.和:
一些重要的说明:
现在,我们如何验证Bob(在每个请求上)?哪个是合理的方式来实现这样的事情?
对于任何先前描述的想法,是否存在任何网络/安全问题?例如,
非常感谢您花时间阅读本文:)
security authentication stateless cookieless session-cookies
我有一个.net应用程序,它使用Windows身份验证连接到SQL Server.
我们无法在应用程序中使用SQL Server身份验证.我们的项目有很多Active Directory用户.因此,我们必须为SQL Server中的每个Active Directory用户创建单独的登录帐户,而不是为每个AD用户创建单独的登录帐户,有没有办法在SQL Server中使用Active Directory用户组?
我正在寻找一种通过LDAP使用PHP验证用户的方法(Active Directory是提供者).理想情况下,它应该能够在IIS 7上运行(adLDAP在Apache上运行).有没有人做过类似的事情,成功了?
在新用户提交"新帐户"表单后,我想手动将该用户登录,这样他们就不必在后续页面上登录.
通过spring安全拦截器的普通表单登录页面工作得很好.
在新帐户形式的控制器中,我正在创建UsernamePasswordAuthenticationToken并手动在SecurityContext中设置它:
SecurityContextHolder.getContext().setAuthentication(authentication);
Run Code Online (Sandbox Code Playgroud)
在同一页面上,我稍后检查用户是否已登录:
SecurityContextHolder.getContext().getAuthentication().getAuthorities();
Run Code Online (Sandbox Code Playgroud)
这将返回我之前在身份验证中设置的权限.一切都很好.
但是当我加载的下一页上调用相同的代码时,身份验证令牌就是UserAnonymous.
我不清楚为什么它没有保留我在上一个请求中设置的身份验证.有什么想法吗?
只是寻找一些可能有助于我了解这里发生了什么的想法.
网上有很多关于使用JWT(Json Web Token)进行身份验证的信息.但是,在多域环境中使用JWT令牌作为单点登录解决方案时,我仍然没有找到明确的解释.
我在一家公司工作,该公司在不同的主机上有很多站点.我们使用example1.com和example2.com.我们需要一个单点登录解决方案,这意味着如果用户在example1.com上进行身份验证,我们希望他也可以自动在example2.com上进行身份验证.
使用OpenId Connect流程,我了解想要在example1.com上进行身份验证的用户将首先被重定向到身份验证服务器(或OP"OpenId Provider").用户在该服务器上进行身份验证,然后使用签名的JWT令牌将其重定向回原始example1.com站点.(我知道有另一个流程返回一个中间令牌,以后可以将其交换为真正的JWT令牌,但我不认为这对我们来说是必需的)...
所以现在用户回到example1.com并进行身份验证!他可以发出请求,在Authentication标头中传递JWT令牌,服务器能够验证签名的JWT,因此能够识别用户.太好了!
第一个问题:
如何将JWT令牌存储在客户端上?还有很多关于此的信息,人们似乎同意使用Web Storage是走的路而不是好的旧路cookies.我们希望JWT在浏览器重启之间保持一致,所以让我们使用Local Storage,而不是Session Storage......
现在用户可以重新启动他的浏览器,只要JWT令牌没有过期,他仍然会在example1.com上进行身份验证!
此外,如果example1.com需要向我们的另一个域发出Ajax请求,我理解配置CORS会允许这样做.但我们的主要用例不是跨域请求,它有一个单点登录解决方案!
因此,主要问题是:
现在,流程应该是什么,如果用户访问example2.com并且我们希望他使用他已经拥有的JWT令牌进行身份验证?Local Storage似乎不允许跨域访问,所以此时浏览器无法读取JWT令牌以向example2.com发出请求!
应该 :
我注意到大多数站点通过HTTPS将密码作为纯文本发送到服务器.有没有什么优势,而不是我发送密码的哈希到服务器?会更安全吗?
我最近开始在GitHub上使用双因素身份验证,我现在无法以通常的方式在私有存储库上使用git over https:
peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo
Cloning into 'MyPrivateRepo'...
Username for 'https://github.com': [...]
Password for 'https://[...]@github.com':
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/[...]/MyPrivateRepo/'
Run Code Online (Sandbox Code Playgroud)
如果我禁用双因素身份验证,我可以像以前一样使用它:
peter@computer:~$ git clone https://github.com/[...]/MyPrivateRepo
Cloning into 'MyPrivateRepo'...
Username for 'https://github.com': [...]
Password for 'https://[...]@github.com':
remote: Counting objects: 147, done.
remote: Total 147 (delta 0), reused 0 (delta 0), pack-reused 147
Receiving objects: 100% (147/147), 22.70 KiB | 0 bytes/s, done.
Resolving deltas: 100% (87/87), done.
Checking connectivity... done.
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用SSH,一切正常,但有没有办法可以保持双因素身份验证,同时仍然能够通过HTTPS使用GitHub,例如通过发送带有我请求的身份验证令牌?
我正在尝试使用可以使用Google身份验证器应用程序生成的一次性密码.
基本上,Google身份验证器实现了两种类型的密码:
Google身份验证器也可在此处以开源形式提供:code.google.com/p/google-authenticator
我一直在寻找能够生成HOTP和TOTP密码的现有解决方案,但没有找到太多.我的代码是负责生成HOTP的以下代码段:
import hmac, base64, struct, hashlib, time
def get_token(secret, digest_mode=hashlib.sha1, intervals_no=None):
if intervals_no == None:
intervals_no = int(time.time()) // 30
key = base64.b32decode(secret)
msg = struct.pack(">Q", intervals_no)
h = hmac.new(key, msg, digest_mode).digest()
o = ord(h[19]) & 15
h = (struct.unpack(">I", h[o:o+4])[0] & 0x7fffffff) % 1000000
return h
Run Code Online (Sandbox Code Playgroud)
我面临的问题是,我使用上述代码生成的密码与使用适用于Android的Google身份验证器应用生成的密码不同.即使我尝试了多个intervals_no值(恰好是前10000个,开头intervals_no = 0),与secretGA应用程序中提供的密钥相等.
我的问题是:
总结一下:请给我任何有助于我在Python代码中实现Google身份验证器身份验证的线索.
python security authentication one-time-password google-authenticator
我是AngularJS的新手并完成了他们的教程,并对此感到满意.
我有一个准备好项目的后端,每个REST端点都需要进行身份验证.
我想做什么
.)我希望我的项目有一个页面http://myproject.com.
b.)一旦用户点击浏览器中的URL,基于用户是否登录,他将在同一URL下显示主页/视图或登录页面/视图http://myproject.com.
c.)如果用户未登录,则填写表单并且服务器设置USER_TOKEN会话,因此对端点的所有进一步请求将基于以下内容进行身份验证USER_TOKEN
我的困惑
a.)如何使用AngularJS处理客户端身份验证?我看到了这里,并在这里,但不知道如何使用它们
湾)我怎么能提出了基于用户不同的看法,如果用户在或不符合相同的URL登录http://myproject.com
我第一次使用angular.js,真的很困惑如何开始.非常感谢任何建议和/或资源.
在Symfony 2模板(使用Twig)中,如何有效地检查用户是否未登录?
我不想用ROLE支票.我想要一种直接的方法来检查用户是否未登录.
我知道app.user.username与anon作品相比,但这对我来说感觉不对.
authentication ×10
security ×4
login ×2
angularjs ×1
cookieless ×1
git ×1
github ×1
https ×1
java ×1
javascript ×1
jwt ×1
ldap ×1
php ×1
python ×1
spring-mvc ×1
sql-server ×1
stateless ×1
symfony ×1
symfony-2.1 ×1
twig ×1