我正努力在我们的服务器上运行IIS上运行WCF服务.部署后,我最终收到一条错误消息:
此服务的安全设置需要"匿名"身份验证,但不会为承载此服务的IIS应用程序启用它.
我想使用Windows身份验证,因此我禁用了匿名访问.另请注意,有aspNetCompatibilityEnabled(如果这有任何区别).
这是我的web.config:
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
<bindings>
<webHttpBinding>
<binding name="default">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" proxyCredentialType="Windows"/>
</security>
</binding>
</webHttpBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="AspNetAjaxBehavior">
<enableWebScript />
<webHttp />
</behavior>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="defaultServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="false" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceAuthorization principalPermissionMode="UseWindowsGroups" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="xxx.Web.Services.RequestService" behaviorConfiguration="defaultServiceBehavior">
<endpoint behaviorConfiguration="AspNetAjaxBehavior" binding="webHttpBinding"
contract="xxx.Web.Services.IRequestService" bindingConfiguration="default">
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" name="mex" contract="IMetadataExchange"></endpoint>
</service>
</services>
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)
我在互联网上搜索没有运气.任何线索都非常感谢.
我正在编写一个授权过滤器属性,因为我无法弄清楚如何将当前url作为字符串获取,所以我可以将它作为参数传递给LogOn操作.目标是,如果用户成功登录,他们将被重定向到他们最初尝试访问的页面.
public override void OnAuthorization(AuthorizeContext filterContext)
{
base.OnAuthorization(filterContext);
... my auth code ...
bool isAuth ;
... my auth code ...
if(!isAuth)
{
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary {
{ "Area", "" },
{ "Controller", "Account" },
{ "Action", "LogOn" },
{ "RedirectUrl", "/Url/String/For/Currnt/Request" } // how do I get this?
}
);
}
}
Run Code Online (Sandbox Code Playgroud)
如何从当前请求中获取完整的字符串Url?
url asp.net-mvc authorization action-filter actionfilterattribute
我计划在ASP.NET MVC应用程序中使用ASP.NET Identity 2.0进行身份验证和授权.
参考以下链接
使用Owin的ASP.NET Web API 2中的JSON Web Token
我能够为有效用户创建访问令牌(JWT),即,当用户登录到应用程序时,我将使用名称和密码验证用户,然后我将为该有效用户发出JSON Web令牌.
现在,我在一些文章中读到,我们需要在标头中为每个请求传递承载令牌,以验证用户的身份验证.在MVC中,我们将为需要保护的方法提供Authorize属性,如下所示...
public class UserController : BaseHRAppController
{
[Authorize]
public ActionResult Index()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
如何告诉我的MVC应用程序使用JWT验证用户?
每当用户尝试使用authorize属性访问该方法时,我想让我的MVC应用程序使用JWT验证用户.由于我将在许多页面中使用AJAX调用来访问MVC控制器中存在的方法,因此我认为在每个AJAX请求上传递令牌都不合适.我需要帮助以在MVC应用程序中使用ASP.NET标识以有效的方式完成身份验证和授权.
目前,我不知道如何在MVC应用程序中使用此JWT令牌进行身份验证和授权.
c# authentication authorization asp.net-mvc-4 asp.net-identity
我们开始设计一大堆新服务来创建(WCF,ADO.NET数据服务,可能在某个时候在云端),弹出的一个问题是使用的身份验证和授权方案 - 有很多几个!
我们基本上需要能够在各种协议(HTTP,HTTPS,TCP)上识别用户(实际人员和"虚拟"应用程序/服务用户),并且我们需要为他们分配至少一堆角色/权限查看某些数据和/或进行某些操作.
我们绝对不能单独使用Windows组成员资格 - 我们的服务有很多外部消费者,我们不希望在内部域中为每个人设置域帐户.
所以我认为主要有三种选择:
首先 - 你会推荐这三个中的哪一个?为什么?
其次 - 我有更多选择吗?
感谢任何提示,指示,意见!
渣
PS:到目前为止看到答案,我很惊讶投票选择#3的人数.我本以为MS能够设计出可以满足所有这些要求的可重复使用的东西....
asp.net authentication azman authorization asp.net-membership
我有一个应用程序,目前使用它com.google.appendinge.api.appidentity.AppIdentityService来促进使用相同的应用程序的身份验证和授权[即.同一帐户]通过SpreadsheetServiceAPI的电子表格数据.在部署到GAE环境的生产模式下工作得很好.但是由于显而易见的原因,它在我的开发appengine环境中运行不起作用(身份验证错误,没有惊喜).
我的问题是:是否可以"支持"配置一个本地开发服务器以使用必要的密钥和证书信息来使AppIdentityService按预期工作?
我阅读了https://sites.google.com/site/oauthgoog/authenticate-google-app-engine-app这篇文章,我理解这是有可能的,但我误解了关键点并希望得到任何反馈关于这个问题.
在一个完美的世界里,我希望我的测试环境能够尽可能地模仿生产模式.我也在考虑在我的测试环境中使用'普通'oauth2 web应用程序身份验证,但是如果可能的话,我更愿意坚持使用AppIdentityService.
我怀疑com.google.appengine.api.appidentity.dev.LocalAppIdentityService该类中的类appengine-api-stubs.jar是预期的技术,但有没有其他人也使用它来AppIdentityService在开发服务器中提供身份验证?我最初的假设是com.google.appengine.api.appidentity.IAppIdentityServiceFactoryProvider使用上面的LocalAppIdentityService类替换com.google.appengine.spi.FactoryProvider中的类来使用我自己的工厂类.还是我在错误的树上吠叫?
使用GAE SDK 1.8.8 for Java.
假设我有一个User带属性的模型:id, :first_name, :last_name, and :email.在我的应用程序中,访客用户不应该看到User's email and last_name.如果我想要一个用户列表,我知道如何选择特定值,但我不知道如何获得特定用户的特定属性,如
User.find_by(id: 5).select(:id, :first_name).
Run Code Online (Sandbox Code Playgroud)
对此的一个解决方案是用户
User.find_by(id: 5).attributes.slice('id', 'first_name')
Run Code Online (Sandbox Code Playgroud)
但后来我得到一个哈希而不是一个AR记录.我可以
User.select(:id, :first_name).find_by(id: 1)
Run Code Online (Sandbox Code Playgroud)
但是我不知道应该过滤哪些过滤器,因为我需要先了解用户.
你可以帮帮我吗?
当我尝试访问我的ASP.NET MVC应用程序时,我收到错误:
Access to the path 'C:\inetpub\wwwroot\website\bin\test.Platform.Config.xml' is denied
Run Code Online (Sandbox Code Playgroud)
我使用具有以下属性的应用程序池运行IIS 7.5:
Identity: ApplicationPoolIdentity
Run Code Online (Sandbox Code Playgroud)
我想这是因为'ApplicationPoolIdentity'无法读取我尝试访问的文件.所以我的问题是:由于'ApplicationPoolIdentity'不是系统用户,我需要授予哪个用户或组进一步访问才能允许'ApplicationPoolIdentity'读取文件?
或者是否有其他解释此授权问题?
我是Express/Node的新手 - 我想弄清楚Passport和JWT之间的区别是什么,但找不到明确的答案?我知道您可以在应用程序中使用其中一个用于auth目的,或者与passport-jwt之类的npm包一起使用.
所以我想知道的是:
JWT对Passport没有做什么(反之亦然)?
验证/授权的首选方法是什么?为什么?
新的ASP.NET 4.5代码已将ASP.NET RoleProvider"重新定位"为ClaimsProvider.
我想弄清楚的是,基于"声明的"授权示例是什么样的(最好是在MVC4中)?我的Authorize属性如何与此功能交互?WebSecurity和Roles API没有改变; 没有"DoesUserHaveClaim()"签名.同样,目前尚不清楚Authorize属性如何与声明进行交互.
这种"声明授权"功能主要用于OAuth吗?如果是,请求如何转发到我的申请?一块饼干?或者这种声明提供程序功能是否适用于更广泛的用途?
简而言之,使用ClaimsPrincipal的故事是什么?
我所看到的最接近的东西是有意义的,就是这个讨论.但我怀疑这是过时的 - 它应该与MVC4互联网项目模板产生的相比.即便如此,它仍然没有建议如何在设置中使用Authorize属性.
我从这些来源找到了我的问题的答案:
我试图暗示使用JMeter的Web服务的基本身份验证过程.但每次它抛出错误401:未经授权.我尝试使用HTTP标头管理器向其添加标头授权和值.它仍然无效.我也尝试过使用HTTP授权管理器.仍然没有运气.有人可以帮忙吗
authorization ×10
asp.net ×1
asp.net-4.5 ×1
asp.net-mvc ×1
azman ×1
c# ×1
express ×1
filter ×1
iis-7.5 ×1
java ×1
jmeter ×1
security ×1
select ×1
url ×1
wcf ×1