Glimpse چیست؟ (بخش دوم)

Glimpse چیست؟ (بخش دوم)

بسم الله الرحمن الرحیم

آموزش برنامه نویسی

آموزش Glimpse

-------------------------------------------------

در مقاله قبل به موارد زیر اشاره کردیم:

حال در این مقاله به مطالب زیر می پردازیم:

  • چگونه استفاده کردن از Glimpse

  • استفاده از Glimpse در Azure

  • پیکربندی Glimpse

بنابراین تا پایان این مقاله با ما همراه باشید.

glimpse logo

بسم الله الرحمن الرحیم

آموزش برنامه نویسی

آموزش Glimpse

-------------------------------------------

در مقاله قبل به موارد زیر اشاره کردیم:

حال در این مقاله به مطالب زیر می پردازیم:

  • چگونه استفاده کردن از Glimpse

  • استفاده از Glimpse در Azure

  • پیکربندی Glimpse

اگر باز بخواهیم مروری بر Glimpse داشته باشیم می توانیم بگوییم که Glimpse اساساً یک پلت فرم منبع باز رایگان برای وب است. در حال حاضر بهتر است با ASP.NET و به خصوص ASP.NET MVC کار کند، اما می توان آن را به سایر سیستم عامل ها نیز گسترش داد. در حال حاضر کار برای یک "نسخه PHP" و حتی یک "پورت پایتون" آغاز شده است.

در مقاله پیشین نحوه نصب Glimpse را به شما عزیزان آموختیم. حال می خواهیم بدانیم که پس از نصب، به چه شکل از آن استفاده کنیم. با ما همراه باشید.

نحوه استفاده از Glimpse

وقتی که شما Glimpse را نصب کردید علامت آن به شکل (g) در پایین صفحه سایت شما نمایش داده می شود.

glimpse

در تصویر زیر تب های موجود در Glimpse را مشاهده می کنید که هر کدام مشخصات و کارایی خاص خود را دارند. در ادامه همه ی این تب ها را توضیح خواهیم داد.

use glimpse

Glimpse Tabs

glimpse tab

Configuration Tab:

این قسمت اطلاعاتی راجع به ورودی های web.config، تنظیمات برنامه، رشته های (strings) استفاده شده، تایید هویت وب، خطاهای بوجود آمده، ریدایرکت کردن صفحه پیش فرض و هندل کردن Http و Https می دهد.

configuration tab in glimpse

Routes Tab:

تب Routes مسیرهای برنامه وب را همراه با مقادیر پیش فرض و محدودیت ها نشان می دهد.

routes tab in glimpse

در اینجا می توانیم ببینیم که مسیرها تعریف شده و کدام مسیر اجرا می شود.

Execution Tab:

این تب عملیات و نتایج مربوط به ASP.NET MVC را نشان و به Http درخواست (required to respond) "درخواست-پاسخ" می دهد.

execution tab in glimpse

SQL Tab:

این گزینه بانک اطلاعاتی مربوط به query ها را نشان می دهد.

sql tab in glimpse

Trace Tab:

به طور کلی تب Trace خطاهای موجود و تست کدها را نشان می دهد.

trace tab in glimpse

Request Tab:

درخواست های مربوط به Http را بررسی می کند.

Session Tab:

Session های درخواست شده را نشان می دهد و آن ها را بررسی می کند.

session tab in glimpse

Views Tab:

تمام پیکربندهای View Engine(s) و View(s) را بررسی می کند.

view tab in glimpse

Model Binding Tab:

تب مدل سازی Binding مدل ASP.NET MVC را نمایش می دهد و اطلاعات مربوط به مدل گیرنده (ها) ی مورد استفاده برای درخواست HTTP را نمایش می دهد.

Metadata Tab:

این تب نیز مانند گزینه بالا است با این تفاوت که اطلاعات مربوط به ارسال کننده (ها) را نمایش می دهد.

نحوه استفاده از Glimpse در Azure

امنیت های پیش فرض Glimpse فقط اجازه می دهد داده های Glimpse از میزبان محلی (local host) نمایش داده شود. شما می توانید این سیاست امنیتی را تغییر دهید تا بتوانید این داده ها را در یک سرور از راه دور مشاهده کنید (مانند یک برنامه وب در Azure). برای محیط های آزمایشی در Azure، کد زیر را به پایین فایل web.confg اضافه کنید و Glimpse را فعال کنید.


<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
    <runtimePolicies>
      <ignoredTypes>
        <add type="Glimpse.AspNet.Policy.LocalPolicy, Glimpse.AspNet"/>
      </ignoredTypes>
    </runtimePolicies>
  </glimpse>
</configuration>




 

با این تغییر به تنهایی، هر کاربر می تواند اطلاعات Glimpse خود را در یک سایت از راه دور مشاهده کند. برای محدود کردن داده های Glimpse، CanViewGlimpseData را اضافه خواهیم کرد که فقط کاربران در همین حد به اطلاعات Glimpse دسترسی داشته باشند.





public class GlimpseSecurityPolicy : IRuntimePolicy
{
    public RuntimePolicy Execute(IRuntimePolicyContext policyContext)
    {
        var httpContext = policyContext.GetHttpContext();
        if (!httpContext.User.IsInRole("canViewGlimpseData"))
        {
            return RuntimePolicy.Off;
        }

        return RuntimePolicy.On;
    }

    public RuntimeEvent ExecuteOn
    {
        get { return RuntimeEvent.EndRequest | RuntimeEvent.ExecuteResource; }
    }
}




 

پیکربندی Glimpse

1. ما می توانیم هر کدام از تب ها را با استفاده از کد زیر پنهان کنیم:




<configSections>
  <section name="glimpse" type="Glimpse.Core.Configuration.Section, Glimpse.Core" />
</configSections>





2. Glimpse می تواند بعضی از صفحات خاص را با استفاده از "uris" غیرفعال کند:



<httpModules>
  <add name="Glimpse" type="Glimpse.AspNet.HttpModule, Glimpse.AspNet" />
</httpModules>
<httpHandlers>
  <add path="glimpse.axd" verb="GET" 

  type="Glimpse.AspNet.HttpHandler, Glimpse.AspNet" />
</httpHandlers>

  • برای مثال در اینجا، Glimpse برای کنترل کننده کار نمی کند.

3. Glimpse می تواند برای همیشه فعال بماند



<system.webServer>
  <modules>
    <add name="Glimpse" type="Glimpse.AspNet.HttpModule, 
    Glimpse.AspNet" preCondition="integratedMode" />
  </modules>
  <handlers>
    <add name="Glimpse" path="glimpse.axd" 

    verb="GET" type="Glimpse.AspNet.HttpHandler, 
    Glimpse.AspNet" preCondition="integratedMode" />
  </handlers>
</system.webServer>



4. Glimpse می تواند برای همیشه غیرفعال بماند



<glimpse defaultRuntimePolicy="On" endpointBaseUri="~/Glimpse.axd">
</glimpse>









بنابراین به این شکل می توان از Glimpse استفاده کرد.

منبع: codeproject

"موفق باشید"

"مجموعه ABLY"

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس