こんにちはいくつかの調査を行った後、これは私にとってうまくいった解決策です:
- ナゲットからかみそりマークダウンをインストールする
- デフォルトの動作に合わせてファイル構造を変更します RM [Razor Markdown] to /views
- このサービス スタックの例で説明されているアプローチに従って、Web 構成を変更します。
- すべての静的 html ファイルを .cshtml ファイルに変更します。これにより、既定では、拡張子なしの /views/{Pagename} のような拡張子なしの同じルートが作成されます。このアプローチを使用して、承認ロジックを実装しやすくしています (少なくとも私のため)
- このページで詳細を確認できる authorize 属性を使用してサービス メソッドを更新します。
もう少し説明するために、これはこれまでの私のルート定義です:
'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");
}
それが役立つことを願っています