2013-08-04 2 views
0

У меня есть часть JavaScript, которую я хочу, чтобы пользовательская интрасеть запускалась только для определенного набора пользователей.запустить JavaScript, если значение базы данных равно x

При загрузке страницы в заголовке запрашивается сценарий, запрашивающий базу данных MS SQL для идентификатора, который будет определен для группы пользователей (например, для офиса).

Новый JavaScript, который я хочу запустить, должен быть добавлен непосредственно перед, но я хочу, чтобы он отображался только для пользователей определенного идентификатора офиса.

сценария в заголовке я имею в виду использования:

<telerik:RadScriptBlock ID="script1" runat="server" EnableViewState="false"> 
<script type="text/javascript"> 

currentCollectionId = '<%= GetCurrentCollectionID() %>'; 
myFirmID = '<%= GetMyFirmID() %>'; 

$(function() etc... 

И myFirmID, что я хочу добавил JavaScript баллотироваться в 487136f1-4e60-4d1c-a98a-4c01e5b14ed6.

Есть ли способ я могу иметь сценарий запуска либо проверить наличие этого ID на загруженной странице, а затем вставить/запустить новый JavaScript ...

Или, запрос к базе данных для идентификатора равное этому значению, а затем добавить/запустить новый скрипт?

Новый сценарий я хочу запустить это:

<script type="text/javascript" src="//assets.zendesk.com/external/zenbox/v2.6/zenbox.js"></script> 
<style type="text/css" media="screen, projection"> 
    @import url(//assets.zendesk.com/external/zenbox/v2.6/zenbox.css); 
</style> 
<script type="text/javascript"> 
    if (typeof (Zenbox) !== "undefined") { 
     Zenbox.init({ 
      dropboxID: "xxxxxxxx", 
      url: "https://foobar.zendesk.com", 
      tabTooltip: "Support", 
      tabImageURL: "https://assets.zendesk.com/external/zenbox/images/tab_support.png", 
      tabColor: "#d8732d", 
      tabPosition: "Left" 
     }); 
    } 
</script> 

Как этого добиться?

ответ

2

Ручка проверки на стороне сервера ID:

<% If "487136f1-4e60-4d1c-a98a-4c01e5b14ed6".Equals(GetMyFirmID()) Then %> 
<script> 
    ... 
</script> 
<% End If %> 

Сценарий будет написан только если фирма ID является один в вопросе.

Если GetMyFirmID() стоит дорого, и вам нужно использовать результат более одного раза (я вижу, вы также используете его в строке myfirmid), вы, вероятно, захотите вставить результат в переменную вместо многократного вызова метода.

Надеюсь, что это поможет.

+0

Это хорошее решение, поскольку оно позволяет избежать раскрытия этого идентификатора фирмы клиенту, и он даже не позволит клиенту увидеть код, который он не должен выполнять. Отлично сработано. – catfood

+0

Извините, я не слишком знаком с ASP. Где на этой странице я бы вставлял это? Нужно ли что-нибудь до или после него? Например. ' \t