Login.cshtml
....
<form action="/auth/credentials">
<div>
<span>User Name</span>
<input name="userName" type="text"/>
</div><div>
<span>Password</span>
<input name="password" type="password"/>
</div><div>
<input name="RememberMe" type="checkbox" checked value="true"/>
<span>Remember me</span>
</div><div>
<button class="login">Sign in</button>
</div>
</form>
....
LoginService.cs
[DefaultView("login")]
public class LoginService : BaseService {
public object Get(Login req) {
return new LoginResponse() { UserSession = base.UserSession };
}
}
BaseService.cs
....
public CustomUserSession UserSession {
get {
return SessionAs<CustomUserSession>(); // **** Error here ****
}
}
....
でのエラーメッセージSessionAs<CustomUserSession>();
InvalidCastExceptionはユーザーコードによって処理されませんでした
タイプ'ServiceStack.ServiceInterface.Auth.AuthUserSession'のオブジェクトをタイプ'MyProject.CustomUserSession'にキャストできません。
login.cshtml
クレデンシャル認証機能をテストするための簡単なhtmlフォームがあります。このコードは、SocialBootstrapApiデモプロジェクトの資格認証機能の一部を模倣しています。
NuGetからSSを更新する前:(約40日前のパッケージ)
htmlフォームにが含まれている場合RememberMe div
、エラーSessionAs<CustomUserSession>();
が発生しInvalidCastException
ます。それ以外の場合は、ジャストUserName
とPassword
divが含まれていれば問題なく動作します。
NuGetからSSを更新した後:(パッケージは本日11月4日v3.9.25.0で更新されました)
SessionAs<CustomUserSession>();
InvalidCastException
htmlフォームにUserName
とdivが含まれている場合でも、常にエラーが発生Password
します。
キャストの過程で何を間違えたのかわかりません。助けてください。