2013-12-17 69 views
2

在基本或憑證授權事件期間,是否有任何地方可以通過OnAuthenticated()獲取正在登錄的用戶的UserAuth句柄?從ServiceStack會話獲取UserAuth

我們擴展了AuthSession對象,並希望用UserAuth中的更多數據填充它(包括從Meta中投射一些自定義字段)。

我知道我們可以通過解析AuthService解析AuthRepo來加載它,但是我想知道當前的UserAuth是否已經可用,以防止我們花費那些不必要的週期。

+0

你在說'AuthUserSession.OnAuthenticated'嗎? – jeffgabhart

+0

對不起,那還不清楚。我正在談論一個自定義的BasicAuthProvider或CredentialsAuthProvider.OnAuthenticated()。 – gizmoboy

回答

1

如果您將base.OnAuthenticated()作爲自定義身份驗證OnAuthenticated方法中的第一個調用,那麼會話參數將使用UserAuth填充。

要堅持它,你將需要解決IAuthRepository並致電IAuthRepository.SaveUserAuth(session)

+1

它生成的會話只有一個UserAuth數據的子集,不包括我們用來存儲一些自定義項的元數據。如果完整的UserAuth不可用,我們將不得不使用已解析的AuthRepo將其撤回。 – gizmoboy