我是 Android 新手,所以我可能会遗漏一些东西。我正在编写一个“登录”活动。Activity 返回安全令牌供应用程序稍后使用。
一切正常。我不太喜欢的是用于返回结果的协议:
本质上,我的登录活动是这样使用的:
...
login = (Button) findViewById(R.id.login);
login.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent authActivity = new Intent(context,
AuthenticationActivity.class);
authActivity.putExtra("clientId","MY CLIENT ID");
startActivityForResult(authActivity, AuthenticationActivity.AUTH_REQUEST_COMPLETE);
}
});
Run Code Online (Sandbox Code Playgroud)
然后,我通过onActivityResult方法检索结果:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent authActivityResult) {
super.onActivityResult(requestCode, resultCode, authActivityResult);
switch(requestCode)
{
case AuthenticationActivity.AUTH_REQUEST_COMPLETE:
if(resultCode==RESULT_OK)
{
access_token =authActivityResult.getStringExtra(AuthenticationActivity.ACCESS_TOKEN)); ...
Run Code Online (Sandbox Code Playgroud)
这是应该的方式吗?或者,还有更好的方法?例如,我想返回一个类型而不是使用属性包。这有很多优点(例如更容易重构、编译时检查等)
粗略地说,我想看到类似(伪代码)的东西:
startActivityForResult<MyResult>(authActivity, new OnResultHandler() {
@Override
void HandleResult( MyResult r )
{
....
}
});
Run Code Online (Sandbox Code Playgroud)
很想听听 Android 专家的看法!
由Visual Studio 2012中的默认(Internet)模板创建的MVC 4应用程序在运行"身份和访问..."向导后返回RolePrincipal.
该向导与STS(实际或"开发"时间STS)建立信任关系.
如果检查,User对象将是RolePrincipal类型.这样做的结果是User.IsInRole针对本地角色数据库而不是声明集进行解析.

我期待一个ClaimsPrincipal