Questions tagged «authentication»

身份验证是验证身份的过程。

5
如何验证域凭证?
我想针对域控制器验证一组凭据。例如: Username: STACKOVERFLOW\joel Password: splotchy 方法1.使用模拟查询Active Directory 很多人建议在Active Directory中查询某些内容。如果抛出异常,则说明凭据无效-如该stackoverflow问题所建议。 但是,此方法有一些严重的缺点: 您不仅在验证域帐户,而且还在进行隐式授权检查。也就是说,您正在使用模拟令牌从AD读取属性。如果原本有效的帐户无权读取广告怎么办?默认情况下,所有用户都具有读取访问权限,但是可以将域策略设置为禁用受限帐户(和/或组)的访问权限。 与AD绑定会产生很大的开销,必须在客户端上加载AD模式缓存(DirectoryServices使用的ADSI提供程序中的ADSI缓存)。这既是网络,又是AD服务器,都非常耗资源-对于简单的操作(如验证用户帐户)而言,费用太高。 对于非例外情况,您要依靠例外失败,并假设这意味着无效的用户名和密码。其他问题(例如网络故障,AD连接故障,内存分配错误等)随后会误认为身份验证失败。 方法2。LogonUser Win32 API 其他人建议使用LogonUser()API函数。这听起来不错,但不幸的是,调用用户有时有时需要通常仅授予操作系统本身的权限: 调用LogonUser的进程需要SE_TCB_NAME特权。如果调用过程没有此特权,则LogonUser失败,并且GetLastError返回ERROR_PRIVILEGE_NOT_HELD。 在某些情况下,调用LogonUser的进程还必须启用SE_CHANGE_NOTIFY_NAME特权;例如,否则,LogonUser失败,并且GetLastError返回ERROR_ACCESS_DENIED。对于本地系统帐户或属于管理员组成员的帐户,不需要此特权。默认情况下,SE_CHANGE_NOTIFY_NAME为所有用户启用,但是某些管理员可能为所有人禁用它。 发放“充当操作系统的一部分”特权不是您要轻易采取的行动-正如Microsoft在知识库文章中指出的那样: ...正在调用LogonUser的进程必须具有SE_TCB_NAME特权(在用户管理器中,这是“充当操作系统的一部分”权限)。SE_TCB_NAME特权非常强大,不应仅授予任意用户一个特权 ,以便他们可以运行需要验证凭据的应用程序。 此外,LogonUser()如果指定了空白密码,则对的调用将失败。 验证一组域凭据的正确方法是什么? 我碰巧是从托管代码调用的,但这是Windows的一个普遍问题。可以假定客户安装了.NET Framework 2.0。

12
Ruby on Rails中用于身份验证的最佳解决方案
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在寻找可以在RoR应用程序中使用的预构建解决方案。理想情况下,我正在寻找与ASP.NET Forms身份验证类似的东西,该身份验证提供电子邮件验证,注册控件并允许用户重置其密码。好的,可以轻松地让我拉出当前登录到该应用程序的用户。 我已经开始研究已经写过的文章,但是我发现它确实令人困惑。我看过LoginGenerator,RestfulAuthentication,SaltedLoginGenerator,但是似乎没有一个地方提供出色的教程或提供它们的比较。如果有一个我尚未发现的站点,或者大多数人都使用了事实上的标准,我将不胜感激。


7
Python urllib2,基本HTTP身份验证和tr.im
我在玩耍,尝试编写一些代码以使用tr.im API缩短URL。 阅读http://docs.python.org/library/urllib2.html之后,我尝试了: TRIM_API_URL = 'http://api.tr.im/api' auth_handler = urllib2.HTTPBasicAuthHandler() auth_handler.add_password(realm='tr.im', uri=TRIM_API_URL, user=USERNAME, passwd=PASSWORD) opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) response = urllib2.urlopen('%s/trim_simple?url=%s' % (TRIM_API_URL, url_to_trim)) url = response.read().strip() response.code是200(我认为应该是202)。url有效,但是基本的HTTP身份验证似乎无效,因为缩短的URL不在我的URL列表中(位于http://tr.im/?page=1)。 阅读http://www.voidspace.org.uk/python/articles/authentication.shtml#doing-it-properly之后, 我也尝试过: TRIM_API_URL = 'api.tr.im/api' password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() password_mgr.add_password(None, TRIM_API_URL, USERNAME, PASSWORD) auth_handler = urllib2.HTTPBasicAuthHandler(password_mgr) opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) response = urllib2.urlopen('http://%s/trim_simple?url=%s' % …

9
Python依赖注入的方式是什么?
介绍 对于Java,依赖注入作为纯OOP工作,即,您提供要实现的接口,并且在框架代码中接受实现已定义接口的类的实例。 现在,对于Python,您可以以相同的方式进行操作,但是对于Python,我认为该方法的开销太大。那么,您将如何以Pythonic的方式实现它呢? 用例 说这是框架代码: class FrameworkClass(): def __init__(self, ...): ... def do_the_job(self, ...): # some stuff # depending on some external function 基本方法 最幼稚(也许是最好的?)方法是要求将外部函数提供给FrameworkClass构造函数,然后从do_the_job方法中。 框架代码: class FrameworkClass(): def __init__(self, func): self.func = func def do_the_job(self, ...): # some stuff self.func(...) 客户代码: def my_func(): # my implementation framework_instance = FrameworkClass(my_func) …


4
在ASP.NET MVC中重写授权属性
我有一个MVC控制器基类,在该基类上应用了Authorize属性,因为我希望几乎所有的控制器(以及它们的动作)都得到授权。 但是我需要一个控制器和另一个控制器的操作未经授权。我希望能够使用[Authorize(false)]或来装饰它们,但这不可用。 有任何想法吗?

5
Python urllib2基本身份验证问题
更新:基于Lee的评论,我决定将我的代码压缩为一个非常简单的脚本,然后从命令行运行它: import urllib2 import sys username = sys.argv[1] password = sys.argv[2] url = sys.argv[3] print("calling %s with %s:%s\n" % (url, username, password)) passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, url, username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) req = urllib2.Request(url) f = urllib2.urlopen(req) data = f.read() print(data) 不幸的是,它仍然不会生成Authorization标题(每个Wireshark):( 我在通过urllib2发送基本AUTH时遇到问题。我看了这篇文章,并跟随了这个例子。我的代码: passman = urllib2.HTTPPasswordMgrWithDefaultRealm() passman.add_password(None, "api.foursquare.com", username, password) urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman))) …



5
带有身份验证的python请求(access_token)
我正在尝试将API查询输入python。命令行 curl --header "Authorization:access_token myToken" https://website.com/id 提供一些json输出。myToken是一个十六进制变量,始终保持不变。我想从python进行此调用,以便我可以遍历不同的id并分析输出。有任何想法吗?在需要身份验证之前,我已经使用urllib2进行了此操作。我也看过了requests模块,但是不知道该怎么做。 非常感谢。

2
如何成为SAML服务提供商
我公司目前正在开发Java Web应用程序。我们的几个客户拥有内部SAML服务器(身份提供程序?),并要求我们与它们集成。所以最近我一直在阅读它,并使用OpenAM。经过大约三天的时间,我对它有了一个大致的了解,但是我的知识仍然存在一些不足。我希望有人可以帮我解决这个问题。 因此,这就是我如何想象用户登录的工作流程。 让我们将客户SAML服务器定义为https://their.samlserver.com。因此,用户访问我们的Web应用程序以获取受保护的资源。假设URL是http://my.app.com/something。 因此,如果我是对的,那么SAML将my.app.com定义为Service Provider。我们的应用程序意识到该用户需要登录。然后,我们向用户显示一个类似的页面... <script>JQuery Script to auto submit this form on ready</script> <form method="post" action="https://their.samlserver.com/Post/Servlet"> <input type="hidden" name="SAMLRequest" value="someBase64Data" /> <input type="submit" value="Submit" /> </form> 那someBase64Data应该是base64这个的编码版本... <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="identifier_1" Version="2.0" IssueInstant="2004-12-05T09:21:59Z" AssertionConsumerServiceIndex="0"> <saml:Issuer>http://my.app.com</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/> </samlp:AuthnRequest> 所以我的前几个问题。 什么是ID假设是价值? 为什么我要宣布自己为发行人? 身份提供者知道我吗?也许这就是我在OpenAM上看到的信任圈。如果它确实了解我,它怎么知道我以及它需要知道什么? 因此,在将用户转发到该页面之后,会将他们转到IDP https://their.samlserver.com提供的页面。他们在该页面上进行身份验证,而IDP确实可以验证身份并查找用户。身份验证成功后,IDP将发回这里的<samlp:Response>定义。 还有几个问题。 首先,如何<samlp:Response>返回到我的Web应用程序以便我可以检查它? 我应该在该响应中寻找什么以验证它是否成功?失败是什么样的? …

1
如何在ASP.NET MVC 5中实现自定义身份验证
我正在开发一个ASP.NET MVC 5应用程序。我有一个现有的数据库,从中可以创建ADO.NET实体数据模型。我在该数据库中有一个表,其中包含“用户名”和“密码”列,我想用它们在Webapp中实现身份验证和授权;由于客户的要求,我无法创建任何其他数据库,表或列,也无法使用标准的身份验证。我不需要管理注册,密码更改或其他操作:只需使用密码和用户名登录即可。我怎样才能做到这一点?

19
'git push heroku master'仍在要求认证
我已经执行: $ heroku login 但是当我尝试推送时,仍然会要求我进行身份验证: $ git push heroku master Username for 'https://git.heroku.com': <email> Password for 'https://<email>@git.heroku.com': 然后我得到警告:不要使用Git使用用户名和密码进行身份验证。 我再次运行heroku登录并成功通过了身份验证,但仍然遇到相同的失败。 我检查了遥控器: $ git remote -v heroku https://git@heroku.com/appname.git (fetch) heroku https://git@heroku.com/appname.git (push) 我还生成了一个新的公钥,将其传递给Heroku,并对其进行了验证:https : //devcenter.heroku.com/articles/keys 我在Windows 8上使用Git 1.9.5。

1
桌面版网页游戏策略更改中允许使用哪些参数?
我们有一个基于浏览器的游戏,该游戏通过一个AppID使用Facebook Connect,我们曾在一个画布上运行相同的游戏,直到引入了Fb Credits,我们被迫将其关闭。现在,我们仅以与产品页面相同的方式使用App,并在我们自己的站点上使用FbConnect集成。 今天的邮件说明了我们的情况: 如果您的Connect应用程序正在访问用户连接或要求除年龄,电子邮件和我们的发布权限之外的其他权限,请删除这些请求。 (这是指此政策更改:https : //developers.facebook.com/blog/post/2012/09/05/platform-updates--operation-developer-love/) 我们将oauthFbConnect与一起使用scope=email,user_birthday。这正是先前邮件中指定的内容,因此应该可以。 用户通过身份验证后,我们只需致电 https://graph.facebook.com/me?access_token=... 并阅读那里的内容。 是否有可能不再允许我们调用GraphAPI me?它包含性别,位置和地区等 信息。Oauth数据包含fbuid,名字/姓氏和电子邮件,但不包含年龄,我们应该问什么? 我必须https://graph.facebook.com/me?fields=birthday明确打电话吗? 有没有人真的成功获得了“主要由Facebook托管的桌面网络游戏”来遵守其新政策,而没有创建新的AppID? 注意:关于“ 9月5日政策变更”的问题有几个,例如Facebook:违反本版本和许多先前版本的公告,重复出现,但到目前为止,我发现没有一个包含技术层面的问题或答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.