我使用3.0文档中的步骤构建了Facebook集成.当我使用Eclispe将应用程序部署到手机时,它可以正常工作; 但是,当我导出应用程序将其上传到商店并侧面加载apk时,它会失败,并显示以下错误.当我导出它时,SDK就在那里并加载了.关于我哪里出错的任何线索?
03-18 21:01:02.089: E/AndroidRuntime(14834): FATAL EXCEPTION: main
03-18 21:01:02.089: E/AndroidRuntime(14834): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.telvista.facebooksupport/com.telvista.facebooksupport.SplashActivity}: android.view.InflateException: Binary XML file line #51: Error inflating class com.facebook.widget.LoginButton
03-18 21:01:02.089: E/AndroidRuntime(14834): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2088)
03-18 21:01:02.089: E/AndroidRuntime(14834): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2113)
03-18 21:01:02.089: E/AndroidRuntime(14834): at android.app.ActivityThread.access$700(ActivityThread.java:139)
03-18 21:01:02.089: E/AndroidRuntime(14834): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1224)
03-18 21:01:02.089: E/AndroidRuntime(14834): at android.os.Handler.dispatchMessage(Handler.java:99)
03-18 21:01:02.089: E/AndroidRuntime(14834): at android.os.Looper.loop(Looper.java:137)
03-18 21:01:02.089: E/AndroidRuntime(14834): at android.app.ActivityThread.main(ActivityThread.java:4918)
03-18 21:01:02.089: E/AndroidRuntime(14834): at java.lang.reflect.Method.invokeNative(Native Method)
03-18 21:01:02.089: E/AndroidRuntime(14834): at java.lang.reflect.Method.invoke(Method.java:511)
03-18 21:01:02.089: E/AndroidRuntime(14834): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
03-18 21:01:02.089: …Run Code Online (Sandbox Code Playgroud) 我正在使用带有MSSQL后端的MVC3 构建Intranet应用程序.我有身份验证和角色(通过自定义角色提供程序)正常工作.我现在要做的是重写User.Identity以允许像User.Identity.FirstName这样的项目.但我找不到任何代码可以告诉我在WindowsIdentity中如何做到这一点
我试过写一个自定义提供程序:
public class CPrincipal : WindowsPrincipal
{
UserDAL userDAL = new UserDAL();
public CPrincipal(WindowsIdentity identity)
: base(identity)
{
userInfo = userDAL.GetUserProfile(identity.Name.Split('\\')[1]);
this.identity = identity;
}
public UserInfo userInfo { get; private set; }
public WindowsIdentity identity { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
并覆盖WindowsAuthentication以填充自定义主体.
void WindowsAuthentication_OnAuthenticate(object sender, WindowsAuthenticationEventArgs e)
{
if (e.Identity != null && e.Identity.IsAuthenticated)
{
CPrincipal cPrincipal = new CPrincipal(e.Identity);
HttpContext.Current.User = cPrincipal;
}
}
Run Code Online (Sandbox Code Playgroud)
我在身份验证功能中有一个断点,并且正在填充主体; 但是,当我在控制器中放置一个断点时,User只是它的正常RolePrincipal,而不是我的自定义主体.我究竟做错了什么?
编辑:
我在global.asax中注释掉了上面的代码.我使用C#覆盖了AuthorizeAttribute:
public class CAuthorize : AuthorizeAttribute
{ …Run Code Online (Sandbox Code Playgroud) intranet windows-authentication windows-principal windows-identity asp.net-mvc-3