###BeginCaseStudy###
Case Study: 3
Scenario 3
Background
You are developing a video transcoding service. This service is used by customers to upload
video files, convert video to other formats, and view the converted files. This service is used
by customers all over the world.
Business Requirements
The user-facing portion of the application is an ASP.NET MVC application. It provides an
interface for administrators to upload video and schedule transcoding. It also enables
administrations and users to download the transcoded videos.
When videos are uploaded, they are populated with metadata used to identify the video. The
video metadata is gathered by only one system when the video upload is complete.
Customers require support for Microsoft Internet Explorer 7 and later.
The application contains a header that is visible on every page.
If the logged-on user is an administrator, then the header will contain links to administrative
functions. This information is read from a cookie that is set on the server. The administrative
links must not be present if an error condition is present
Technical Requirements
User Experience:
• The front-end web application enables a user to view a list of videos.
• The main view of the application is the web page that displays the list of videos.
• HTML elements other than the list of videos are changed with every request requiring
the page to reload.
Compatibility:
• Some customers use browsers that do not support the HTTP DELETE verb.
• These browsers send a POST request with an HTTP header of X-Delete when
the intended action is to delete.
Transcoding:
• The video transcoding occurs on a set of Microsoft Azure worker roles.
• The transcoding is performed by a third-party command line tool named
transcode.exe. When the tool is installed, an Environment variable named
transcode contains the path to the utility.
• A variable named license contains the license key. The license for the
transcoding utility requires that it be unregistered when it is not in use.
• The transcoding utility requires a significant amount of resources. A
maximum of 10 instances of the utility can be running at any one time. If an
instance of the role cannot process an additional video, it must not prevent any
other roles from processing that video.
• The utility logs errors to a Logs directory under the utilities path.
• A local Azure directory resource named pert is used to capture performance
data.
Development:
• Developers must use Microsoft Remote Desktop Protocol (RDP) to view
errors generated by the transcode.exe utility.
• An x509 certificate has been created and distributed to the developers for this
purpose.
• Developers must be able to use only RDP and not any other administrative
functions.
Application Structure
TranscodeWorkerRole.es
ThumbnailGenerator.es
VideoController.es
DeleteHdiidler.es
VideoAdminAttributes.es
AdminVerifierFactory.es
###EndCaseStudy###
You need to ensure that all the MVC controllers are secure.
Which code segment should you use as the body for the CreateController method in
AdminVerifierFactory.es?
A.
Option A
B.
Option B
C.
Option C
D.
Option D