我正在寻找示例或想法如何使用内部帐户和外部登录(Facebook等)在MVASH中使用MVC5 ASP.NET身份管理用户身份验证。
我知道有简单会员的例子,并且FLASH自动身份验证存在问题。但我对MVC5一无所知:(。
身份验证本身将由ASP.NET页面进行。我希望/ 只 /一个FLASH应用程序能够在进行服务器请求时使用经过身份验证的会话。
Flash应用程序用于编辑某些数据并保存到服务器端的数据库(MVC5),因此它必须是安全的,并且仅允许某些经过身份验证的用户使用。
在MVC5页面上放置的FLASH应用中对用户进行身份验证的最安全方法是什么?
答案 0 :(得分:1)
到目前为止,我发现了3种可能的(?)方法。他们似乎都不容易和清楚,并没有测试它们......
这有什么意义吗?
用于验证Flash应用程序的用户请求是否真的没有简单/更好的解决方案;(?
编辑: Ad.2测试通过,用户通过身份验证:D。实际上看起来相当不错(ExternalInterface.call(...))。使用JS和AJAX进行Crucial FLASH-ASP.NET通信。
EDIT2:
我只是从Flash调用JavaScript,然后这个javaScript使用已经过身份验证的AJAX与服务器通信。使用外部接口,您还可以从javaScript调用Flash函数(收到答案时)。沟通就完成了。
FLASH:
public static function SendToServer(_sParam:String):void
{
ExternalInterface.call("JAVASCRIPT_FUNCTIONNAME", "TEST", _sParam);
}
//If you want to call FLASH functions from JavaScript you need to call this in FLASH:
ExternalInterface.addCallback("NAME_FOR_JAVASCTIPT_OF_FLASH_FUNCTION", FLASH_FUNCTION);
//From now this FLASH_FUNCTION will be called when you call swfobj.NAME_FOR_JAVASCTIPT_OF_FLASH_FUNCTION() in JavaScript.
public static function SendToServer(_sParam:String):void
{
ExternalInterface.call("JAVASCRIPT_FUNCTIONNAME", "TEST", _sParam);
}
//If you want to call FLASH functions from JavaScript you need to call this in FLASH:
ExternalInterface.addCallback("NAME_FOR_JAVASCTIPT_OF_FLASH_FUNCTION", FLASH_FUNCTION);
//From now this FLASH_FUNCTION will be called when you call swfobj.NAME_FOR_JAVASCTIPT_OF_FLASH_FUNCTION() in JavaScript.
JAVASCRIPT:
//You need to be able to get SWF object in flash to call its registered functions
function swfobj() {
return $("#modafswf").get(0);
}
function JAVASCRIPT_FUNCTIONNAME(mffname, mfpvalue) {
try {
$.ajax({
url: "/FlashComm/" + mffname,
data: "{ 'param': '" + mfpvalue + "' }",
dataType: "text",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
swfobj().NAME_FOR_JAVASCTIPT_OF_FLASH_FUNCTION(mffname, data);
}
});
} catch (ex) {}
}
最后是ASP.NET:
//You need to be able to get SWF object in flash to call its registered functions
function swfobj() {
return $("#modafswf").get(0);
}
function JAVASCRIPT_FUNCTIONNAME(mffname, mfpvalue) {
try {
$.ajax({
url: "/FlashComm/" + mffname,
data: "{ 'param': '" + mfpvalue + "' }",
dataType: "text",
type: "POST",
contentType: "application/json; charset=utf-8",
dataFilter: function (data) { return data; },
success: function (data) {
swfobj().NAME_FOR_JAVASCTIPT_OF_FLASH_FUNCTION(mffname, data);
}
});
} catch (ex) {}
}