嗨之后做一些研究,这是为我工作的解决方案:
- 从的NuGet
- 更改安装razor markdown文件结构相匹配的默认行为RM [剃刀降价]到/视图
- 按照this service stack example中描述的方法修改web配置
- 将所有静态htmls文件更改为.cshtml文件,默认情况下,这种默认情况下会创建相同的路由,而不会像/ views/{Pagename}这样的扩展名不带外部分机ension,我只是用这种方法来获取授权的逻辑更简单的实现(至少对我来说)
- 更新与授权服务方法属性,你可以找到更多in this page
说明点亮更多这是我的路线定义在目前为止:
'use strict';
angular.module('myApp', ['myApp.directives', 'myApp.services']).config(
['$routeProvider', function($routeProvider) {
$routeProvider.when('/Dashboard', {
controller: 'dashboardCtrl',
templateUrl: 'Views/dashboard'
}).when('/Payments', {
controller: 'paymentsCtrl',
templateUrl: 'Views/payments'
}).
when('/Login', {
controller: 'loginCtrl',
templateUrl: 'Views/login'
});
}]
);
请注意,引用现在指向剃刀路径。
这是一个小菜单我在角
<div class="container">
<div class="navbar" ng-controller="indexCtrl">
<div class="navbar-inner">
<a class="brand" href="#/">header menu</a>
<ul class="nav">
<li ng-class="{active: routeIs('/Dashboard')}"><a href="#/Dashboard">Dashboard</a></li>
<li ng-class="{active: routeIs('/Login')}"><a href="#/Login">Login</a></li>
<li ng-class="{active: routeIs('/Payments')}"><a href="#/Payments">payments</a></li>
</ul>
</div>
</div>
<ng-view></ng-view>
</div>
让我们说,在支付页面被限制做,所以我每次点击一个页面上的时候,我收到了401未授权的消息。
服务主机:
public override void Configure(Container container)
{
Plugins.Add(new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] {
new FacebookAuthProvider(appSettings),
new TwitterAuthProvider(appSettings),
new BasicAuthProvider(appSettings),
new GoogleOpenIdOAuthProvider(appSettings),
new CredentialsAuthProvider()
})); //I'm going to support social auth as well.
Plugins.Add(new RegistrationFeature());
Routes.Add<UserRequest>("/Api/User/{Id}");
Routes.Add<LoginRequest>("/Api/User/login","POST");
Routes.Add<PaymentRequest>("/views/Payments");
}
我希望帮助
都是网站和服务正在在同一个域托管? – Malkus
@Malkus是的,他们将在同一个域中,他们将在同一个上下文/应用程序池中的IIS 7 –
通过安全,你的意思是你想通过某种身份验证方法来限制访问? –