代码之家  ›  专栏  ›  技术社区  ›  F11

Angular/MVC体系结构中的会话处理

  •  0
  • F11  · 技术社区  · 7 年前

    我有6个角/asp.net mvc公司application.My 前端代码是角度的,并且使用webapi作为后端数据库interaction.Once 我构建角度代码,将dist文件夹放在MVC应用程序中,并引用MVC发布的jslayout.cshtml 然后在IIS中通过windows身份验证托管完整的应用程序(在intranet中)。

    如果有人可以重定向到一些相关的链接,这将是非常有帮助的

    1 回复  |  直到 7 年前
        1
  •  0
  •   M.Laida    7 年前

    如果已过期,则重定向到一个新的角度页面,通知用户已过期的会话。

    (我的工作区有一个使用MVC窗体身份验证的现有SSO) 前端有6个角。

    1. MVC在用户身份验证后生成令牌。

    2. 导出类AuthGuardService实现CanActivate{

      constructor(private _authService: AuthService, 
              private _router: Router) {}
      
      canActivate(): Observable<boolean> | Promise<boolean> | boolean {
          // check if token has expired
          if (this._authService.isAuthenticated()) {
              return true;
          } else {
              // redirect to some info page 
              this._router.navigate(['/error']);
              return false;
          }
      }    
      
    3. 无法在auth guard中检查令牌过期。

      export class AuthService {
          tokenObject: AuthUser = new AuthUser();
          authClaims: AuthUserClaim[] = [];
      
          constructor() { 
              let jwt = localStorage.getItem('test-token');
              this._assignToken(jwt);
          }   
          isAuthenticated(): boolean {        
              let jwt = localStorage.getItem('test-token');
              if (HELPER.isTokenExpired(jwt)) {
                  return false;
              } else {
                  return true;
              }
          }
      }
      
    推荐文章