在搜索并没有提出解决方案后,我发布此代码片段以获得一些帮助.
$scope.createAddress = function () {
$http({
method: 'POST',
url: '/addressBook/api/Person',
data: $scope.person,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
}).success(function (data) {
$location.path('/addressBook');
});
}
Run Code Online (Sandbox Code Playgroud)
成功发布后,我想重定向到另一个页面.$ location.path没有实现这一点.我尝试了$ scope.apply(),因为其他一些人已经取得了成功.我错过了什么或不了解$ location用于什么?代码被击中了.
我有如下定义的基于自定义策略的授权处理程序。身份验证是在用户点击此应用程序之前进行的,因此我只需要授权。我收到错误消息:
没有指定authenticationScheme,也没有DefaultForbidScheme。
如果授权检查成功,那么我不会收到错误,一切都很好。仅当授权检查失败时,才会发生此错误。我希望失败时返回401。
public class EasRequirement : IAuthorizationRequirement
{
public EasRequirement(string easBaseAddress, string applicationName, bool bypassAuthorization)
{
_client = GetConfiguredClient(easBaseAddress);
_applicationName = applicationName;
_bypassAuthorization = bypassAuthorization;
}
public async Task<bool> IsAuthorized(ActionContext actionContext)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
public class EasHandler : AuthorizationHandler<EasRequirement>
{
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, EasRequirement requirement)
{
var mvcContext = context.Resource as ActionContext;
bool isAuthorized;
try
{
isAuthorized = requirement.IsAuthorized(mvcContext).Result;
}
catch (Exception)
{
// TODO: log the error?
isAuthorized = false;
}
if (isAuthorized)
{
context.Succeed(requirement); …
Run Code Online (Sandbox Code Playgroud)