如何在调用REST API时防止暴露我的用户名

时间:2012-10-10 14:12:46

标签: security

我正在将我的asp.net mvc4 Web应用程序与工作流引擎集成,目前正在调用引擎API并获取JSON结果我正在执行以下操作: -

我有以下razor视图,它有一个将调用的javaScript: -

@{
    ViewBag.Title = "About";
}
@section scripts {

 <script type="text/javascript">
     $(document).ready(function () {
         var name = prompt("Please enter your packageid", "JordanEngineersAssociation");

         var fullurl = 'http://localhost:8080/jw/web/json/workflow/process/list?j_username=kermit&hash=9449B5ABCFA9AFDA36B801351ED3DF66&loginAs=@User.Identity.Name&packageId=' + name;
         $.ajax({
             type: "GET",
             url: fullurl,
             dataType: "JSONP",
             success: function (result) {
                 var arr = ((typeof (result.data) == 'object') &&
                             (result.data.constructor.name == 'Array'))
                      ? result.data
                      : [result.data];
                 $.each(arr, function (key, val) {
                 var str = val.name + ' | Version ' + val.version;
                     $('<li/>', { text: str })
                     .appendTo($('#products'));

                 });
             }
         });

     });
     </script>
}
<h1>All Processes</h1>
<ul id="products">
</ul>

以上情况运作良好,但我担心这种方法将当前登录用户名暴露给外部世界作为API调用的一部分是多么安全,所以我如何使我的通话更安全 - 如果它是目前还不安全 - ?

最好的问候

0 个答案:

没有答案