Glimpse چیست؟ (بخش دوم)
بسم الله الرحمن الرحیم
آموزش برنامه نویسی
آموزش Glimpse
-------------------------------------------------
در مقاله قبل به موارد زیر اشاره کردیم:
حال در این مقاله به مطالب زیر می پردازیم:
-
چگونه استفاده کردن از Glimpse
-
استفاده از Glimpse در Azure
-
پیکربندی Glimpse
بنابراین تا پایان این مقاله با ما همراه باشید.
بسم الله الرحمن الرحیم
آموزش برنامه نویسی
آموزش Glimpse
-------------------------------------------
در مقاله قبل به موارد زیر اشاره کردیم:
حال در این مقاله به مطالب زیر می پردازیم:
-
چگونه استفاده کردن از Glimpse
-
استفاده از Glimpse در Azure
-
پیکربندی Glimpse
اگر باز بخواهیم مروری بر Glimpse داشته باشیم می توانیم بگوییم که Glimpse اساساً یک پلت فرم منبع باز رایگان برای وب است. در حال حاضر بهتر است با ASP.NET و به خصوص ASP.NET MVC کار کند، اما می توان آن را به سایر سیستم عامل ها نیز گسترش داد. در حال حاضر کار برای یک "نسخه PHP" و حتی یک "پورت پایتون" آغاز شده است.
در مقاله پیشین نحوه نصب Glimpse را به شما عزیزان آموختیم. حال می خواهیم بدانیم که پس از نصب، به چه شکل از آن استفاده کنیم. با ما همراه باشید.
نحوه استفاده از Glimpse
وقتی که شما Glimpse را نصب کردید علامت آن به شکل (g) در پایین صفحه سایت شما نمایش داده می شود.
در تصویر زیر تب های موجود در Glimpse را مشاهده می کنید که هر کدام مشخصات و کارایی خاص خود را دارند. در ادامه همه ی این تب ها را توضیح خواهیم داد.
Glimpse Tabs
Configuration Tab:
این قسمت اطلاعاتی راجع به ورودی های web.config، تنظیمات برنامه، رشته های (strings) استفاده شده، تایید هویت وب، خطاهای بوجود آمده، ریدایرکت کردن صفحه پیش فرض و هندل کردن Http و Https می دهد.
Routes Tab:
تب Routes مسیرهای برنامه وب را همراه با مقادیر پیش فرض و محدودیت ها نشان می دهد.
در اینجا می توانیم ببینیم که مسیرها تعریف شده و کدام مسیر اجرا می شود.
Execution Tab:
این تب عملیات و نتایج مربوط به ASP.NET MVC را نشان و به Http درخواست (required to respond) "درخواست-پاسخ" می دهد.
SQL Tab:
این گزینه بانک اطلاعاتی مربوط به query ها را نشان می دهد.
Trace Tab:
به طور کلی تب Trace خطاهای موجود و تست کدها را نشان می دهد.
Request Tab:
درخواست های مربوط به Http را بررسی می کند.
Session Tab:
Session های درخواست شده را نشان می دهد و آن ها را بررسی می کند.
Views Tab:
تمام پیکربندهای View Engine(s) و View(s) را بررسی می کند.
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"